Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 4357 → Rev 4358

/contrib/sdk/sources/Mesa/docs/ARB_color_buffer_float.txt
0,0 → 1,4
Known issues in the ARB_color_buffer_float implementation:
- Rendering to multiple render targets, some fixed-point, some floating-point, with FIXED_ONLY fragment clamping and polygon smooth enabled may write incorrect values to the fixed point buffers (depends on spec interpretation)
- For fragment programs with ARB_fog_* options, colors are clamped before fog application regardless of the fragment clamping setting (this depends on spec interpretation)
 
/contrib/sdk/sources/Mesa/docs/COPYING
0,0 → 1,490
 
Some parts of Mesa are copyrighted under the GNU LGPL. See the
Mesa/docs/COPYRIGHT file for details.
 
The following is the standard GNU copyright file.
----------------------------------------------------------------------
 
 
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
 
Copyright (C) 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
 
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
 
Preamble
 
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
 
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
 
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
 
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
 
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
 
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
 
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
 
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
 
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
 
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
 
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
 
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
 
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
 
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
 
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
 
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
 
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
 
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
 
a) The modified work must itself be a software library.
 
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
 
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
 
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
 
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
 
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
 
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
 
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
 
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
 
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
 
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
 
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
 
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
 
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
 
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
 
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
 
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
 
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
 
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
 
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
 
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
 
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
 
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
 
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
 
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
 
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
 
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
 
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
 
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
 
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
 
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
 
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
 
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
 
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
 
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
 
NO WARRANTY
 
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
 
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
 
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Libraries
 
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
 
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
 
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
 
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
 
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
 
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
Also add information on how to contact you by electronic and paper mail.
 
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
 
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
 
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
 
That's all there is to it!
 
/contrib/sdk/sources/Mesa/docs/GL3.txt
0,0 → 1,160
 
Status of OpenGL 3.x features in Mesa
 
 
Note: when an item is marked as "DONE" it means all the core Mesa
infrastructure is complete but it may be the case that few (if any) drivers
implement the features.
 
 
Feature Status
----------------------------------------------------- ------------------------
 
GL 3.0:
 
GLSL 1.30 DONE
glBindFragDataLocation, glGetFragDataLocation DONE
Conditional rendering (GL_NV_conditional_render) DONE (i965, r300, r600, swrast)
Map buffer subranges (GL_ARB_map_buffer_range) DONE (i965, r300, r600, swrast)
Clamping controls (GL_ARB_color_buffer_float) DONE (i965, r300, r600)
Float textures, renderbuffers (GL_ARB_texture_float) DONE (i965, r300, r600)
GL_EXT_packed_float DONE (i965, r600)
GL_EXT_texture_shared_exponent DONE (i965, r600, swrast)
Float depth buffers (GL_ARB_depth_buffer_float) DONE (i965, r600)
Framebuffer objects (GL_ARB_framebuffer_object) DONE (i965, r300, r600, swrast)
Half-float DONE
Non-normalized Integer texture/framebuffer formats DONE (i965, r600)
1D/2D Texture arrays DONE
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE (i965, r600, swrast)
GL_EXT_texture_compression_rgtc DONE (i965, r300, r600, swrast)
Red and red/green texture formats DONE (i965, swrast, gallium)
Transform feedback (GL_EXT_transform_feedback) DONE (i965, r600)
Vertex array objects (GL_APPLE_vertex_array_object) DONE (i965, r300, r600, swrast)
sRGB framebuffer format (GL_EXT_framebuffer_sRGB) DONE (i965, r600)
glClearBuffer commands DONE
glGetStringi command DONE
glTexParameterI, glGetTexParameterI commands DONE
glVertexAttribI commands DONE
Depth format cube textures DONE
GLX_ARB_create_context (GLX 1.4 is required) DONE
 
 
GL 3.1:
 
GLSL 1.40 DONE (i965, r600)
Forward compatibile context support/deprecations DONE (i965, r600)
Instanced drawing (GL_ARB_draw_instanced) DONE (i965, gallium, swrast)
Buffer copying (GL_ARB_copy_buffer) DONE (i965, r300, r600, swrast)
Primitive restart (GL_NV_primitive_restart) DONE (i965, r600)
16 vertex texture image units DONE
Texture buffer objs (GL_ARB_texture_buffer_object) DONE for OpenGL 3.1 contexts (i965, r600)
Rectangular textures (GL_ARB_texture_rectangle) DONE (i965, r300, r600, swrast)
Uniform buffer objs (GL_ARB_uniform_buffer_object) DONE (i965, r600, swrast)
Signed normalized textures (GL_EXT_texture_snorm) DONE (i965, r300, r600)
 
 
GL 3.2:
 
Core/compatibility profiles DONE
GLSL 1.50 in progress
Geometry shaders (GL_ARB_geometry_shader4) partially done
BGRA vertex order (GL_ARB_vertex_array_bgra) DONE (i965, r300, r600, swrast)
Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE (i965, r300, r600, swrast)
Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (i965, r300, r600, swrast)
Provoking vertex (GL_ARB_provoking_vertex) DONE (i965, r300, r600, swrast)
Seamless cubemaps (GL_ARB_seamless_cube_map) DONE (i965, r600)
Multisample textures (GL_ARB_texture_multisample) DONE (i965)
Frag depth clamp (GL_ARB_depth_clamp) DONE (i965, r600, swrast)
Fence objects (GL_ARB_sync) DONE (i965, r300, r600, swrast)
GLX_ARB_create_context_profile DONE
 
 
GL 3.3:
 
GLSL 3.30 new features in this version pretty much done
GL_ARB_blend_func_extended DONE (i965, r600, softpipe)
GL_ARB_explicit_attrib_location DONE (i915, i965, r300, r600, swrast)
GL_ARB_occlusion_query2 DONE (i965, r300, r600, swrast)
GL_ARB_sampler_objects DONE (i965, r300, r600)
GL_ARB_shader_bit_encoding DONE
GL_ARB_texture_rgb10_a2ui DONE (i965, r600)
GL_ARB_texture_swizzle DONE (same as EXT version) (i965, r300, r600, swrast)
GL_ARB_timer_query DONE (i965, r600)
GL_ARB_instanced_arrays DONE (i965, r300, r600)
GL_ARB_vertex_type_2_10_10_10_rev DONE (i965, r600)
 
 
GL 4.0:
 
GLSL 4.0 not started
GL_ARB_texture_query_lod DONE (i965)
GL_ARB_draw_buffers_blend DONE (i965, r600, softpipe)
GL_ARB_draw_indirect started (Christoph)
GL_ARB_gpu_shader5 started
GL_ARB_gpu_shader_fp64 not started
GL_ARB_sample_shading not started
GL_ARB_shader_subroutine not started
GL_ARB_tessellation_shader not started
GL_ARB_texture_buffer_object_rgb32 DONE (i965, softpipe)
GL_ARB_texture_cube_map_array DONE (i965, softpipe)
GL_ARB_texture_gather started (Maxence, Chris)
GL_ARB_transform_feedback2 DONE
GL_ARB_transform_feedback3 DONE
 
 
GL 4.1:
 
GLSL 4.1 not started
GL_ARB_ES2_compatibility DONE (i965, r300, r600)
GL_ARB_get_program_binary DONE (0 binary formats)
GL_ARB_separate_shader_objects some infrastructure done
GL_ARB_shader_precision not started
GL_ARB_vertex_attrib_64bit not started
GL_ARB_viewport_array not started
 
 
GL 4.2:
 
GLSL 4.2 not started
GL_ARB_texture_compression_bptc not started
GL_ARB_compressed_texture_pixel_storage not started
GL_ARB_shader_atomic_counters not started
GL_ARB_texture_storage DONE (i965, r300, r600, swrast, gallium)
GL_ARB_transform_feedback_instanced DONE
GL_ARB_base_instance DONE (i965, nv50, nvc0, r600, radeonsi)
GL_ARB_shader_image_load_store not started
GL_ARB_conservative_depth DONE (softpipe)
GL_ARB_shading_language_420pack started (Todd)
GL_ARB_internalformat_query DONE (i965, gallium)
GL_ARB_map_buffer_alignment DONE (r300, r600, radeonsi)
 
 
GL 4.3:
 
GLSL 4.3 not started
ARB_arrays_of_arrays not started
ARB_ES3_compatibility DONE (i965)
ARB_clear_buffer_object not started
ARB_compute_shader started (gallium)
ARB_copy_image not started
KHR_debug some work done (ARB_debug_output)
ARB_explicit_uniform_location not started
ARB_fragment_layer_viewport not started
ARB_framebuffer_no_attachments not started
ARB_internalformat_query2 not started
ARB_invalidate_subdata not started
ARB_multi_draw_indirect not started
ARB_program_interface_query not started
ARB_robust_buffer_access_behavior not started
ARB_shader_image_size not started
ARB_shader_storage_buffer_object not started
ARB_stencil_texturing not started
ARB_texture_buffer_range DONE (nv50, nvc0)
ARB_texture_query_levels not started
ARB_texture_storage_multisample DONE (i965)
ARB_texture_view not started
ARB_vertex_attrib_binding not started
 
 
More info about these features and the work involved can be found at
http://dri.freedesktop.org/wiki/MissingFunctionality
/contrib/sdk/sources/Mesa/docs/README.CYGWIN
0,0 → 1,256
 
Mesa Cygwin/X11 Information
 
 
WARNING
=======
 
If you installed X11 (packages xorg-x11-devel and xorg-x11-bin-dlls ) with the
latest setup.exe from Cygwin the GL (Mesa) libraries and include are already
installed in /usr/X11R6.
 
The following will explain how to "replace" them.
 
Installation
============
 
How to compile Mesa on Cygwin/X11 systems:
 
1. Shared libs:
type 'make cygwin-sl'.
 
When finished, the Mesa DLL will be in the Mesa-x.y/lib/ and
Mesa-x.y/bin directories.
 
 
2. Static libs:
type 'make cygwin-static'.
When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory.
 
Header and library files:
After you've compiled Mesa and tried the demos I recommend the following
procedure for "installing" Mesa.
 
Copy the Mesa include/GL directory to /usr/X11R6/include:
cp -a include/GL /usr/X11R6/include
 
Copy the Mesa library files to /usr/X11R6/lib:
cp -a lib/* /usr/X11R6ocal/lib
 
Copy the Mesa bin files (used by the DLL stuff) to /usr/X11R6/bin:
cp -a lib/cyg* /usr/X11R6/bin
 
Xt/Motif widgets:
If you want to use Mesa or OpenGL in your Xt/Motif program you can build
the widgets found in either the widgets-mesa or widgets-sgi directories.
The former were written for Mesa and the later are the original SGI
widgets. Look in those directories for more information.
For the Motif widgets you must have downloaded the lesstif package.
 
 
Using the library
=================
 
Configuration options:
The file src/mesa/main/config.h has many parameters which you can adjust
such as maximum number of lights, clipping planes, maximum texture size,
etc. In particular, you may want to change DEPTH_BITS from 16 to 32
if a 16-bit depth buffer isn't precise enough for your application.
 
 
Shared libraries:
If you compile shared libraries (Win32 DLLS) you may have to set an
environment variable to specify where the Mesa libraries are located.
Set the PATH variable to include /your-dir/Mesa-2.6/bin.
Otherwise, when you try to run a demo it may fail with a message saying
that one or more DLL couldn't be found.
 
 
Xt/Motif Widgets:
Two versions of the Xt/Motif OpenGL drawing area widgets are included:
 
widgets-sgi/ SGI's stock widgets
widgets-mesa/ Mesa-tuned widgets
 
Look in those directories for details
 
 
Togl:
Togl is an OpenGL/Mesa widget for Tcl/Tk.
See http://togl.sourceforge.net for more information.
 
 
 
X Display Modes:
Mesa supports RGB(A) rendering into almost any X visual type and depth.
 
The glXChooseVisual function tries its best to pick an appropriate visual
for the given attribute list. However, if this doesn't suit your needs
you can force Mesa to use any X visual you want (any supported by your
X server that is) by setting the MESA_RGB_VISUAL and MESA_CI_VISUAL
environment variables. When an RGB visual is requested, glXChooseVisual
will first look if the MESA_RGB_VISUAL variable is defined. If so, it
will try to use the specified visual. Similarly, when a color index
visual is requested, glXChooseVisual will look for the MESA_CI_VISUAL
variable.
 
The format of accepted values is: <visual-class> <depth>
Here are some examples:
 
using the C-shell:
% setenv MESA_RGB_VISUAL "TrueColor 8" // 8-bit TrueColor
% setenv MESA_CI_VISUAL "PseudoColor 12" // 12-bit PseudoColor
% setenv MESA_RGB_VISUAL "PseudoColor 8" // 8-bit PseudoColor
 
using the KornShell:
$ export MESA_RGB_VISUAL="TrueColor 8"
$ export MESA_CI_VISUAL="PseudoColor 12"
$ export MESA_RGB_VISUAL="PseudoColor 8"
 
 
Double buffering:
Mesa can use either an X Pixmap or XImage as the backbuffer when in
double buffer mode. Using GLX, the default is to use an XImage. The
MESA_BACK_BUFFER environment variable can override this. The valid
values for MESA_BACK_BUFFER are: Pixmap and XImage (only the first
letter is checked, case doesn't matter).
 
A pixmap is faster when drawing simple lines and polygons while an
XImage is faster when Mesa has to do pixel-by-pixel rendering. If you
need depth buffering the XImage will almost surely be faster. Exper-
iment with the MESA_BACK_BUFFER variable to see which is faster for
your application.
 
 
Colormaps:
When using Mesa directly or with GLX, it's up to the application writer
to create a window with an appropriate colormap. The aux, tk, and GLUT
toolkits try to minimize colormap "flashing" by sharing colormaps when
possible. Specifically, if the visual and depth of the window matches
that of the root window, the root window's colormap will be shared by
the Mesa window. Otherwise, a new, private colormap will be allocated.
 
When sharing the root colormap, Mesa may be unable to allocate the colors
it needs, resulting in poor color quality. This can happen when a
large number of colorcells in the root colormap are already allocated.
To prevent colormap sharing in aux, tk and GLUT, define the environment
variable MESA_PRIVATE_CMAP. The value isn't significant.
 
 
Gamma correction:
To compensate for the nonlinear relationship between pixel values
and displayed intensities, there is a gamma correction feature in
Mesa. Some systems, such as Silicon Graphics, support gamma
correction in hardware (man gamma) so you won't need to use Mesa's
gamma facility. Other systems, however, may need gamma adjustment
to produce images which look correct. If in the past you thought
Mesa's images were too dim, read on.
 
Gamma correction is controlled with the MESA_GAMMA environment
variable. Its value is of the form "Gr Gg Gb" or just "G" where
Gr is the red gamma value, Gg is the green gamma value, Gb is the
blue gamma value and G is one gamma value to use for all three
channels. Each value is a positive real number typically in the
range 1.0 to 2.5. The defaults are all 1.0, effectively disabling
gamma correction. Examples using csh:
 
% setenv MESA_GAMMA "2.3 2.2 2.4" // separate R,G,B values
% setenv MESA_GAMMA "2.0" // same gamma for R,G,B
 
The demos/gamma.c program may help you to determine reasonable gamma
value for your display. With correct gamma values, the color intensities
displayed in the top row (drawn by dithering) should nearly match those
in the bottom row (drawn as grays).
 
Alex De Bruyn reports that gamma values of 1.6, 1.6 and 1.9 work well
on HP displays using the HP-ColorRecovery technology.
 
Mesa implements gamma correction with a lookup table which translates
a "linear" pixel value to a gamma-corrected pixel value. There is a
small performance penalty. Gamma correction only works in RGB mode.
Also be aware that pixel values read back from the frame buffer will
not be "un-corrected" so glReadPixels may not return the same data
drawn with glDrawPixels.
 
For more information about gamma correction see:
http://www.inforamp.net/~poynton/notes/colour_and_gamma/GammaFAQ.html
 
 
Overlay Planes
 
Overlay planes in the frame buffer are supported by Mesa but require
hardware and X server support. To determine if your X server has
overlay support you can test for the SERVER_OVERLAY_VISUALS property:
 
xprop -root | grep SERVER_OVERLAY_VISUALS
 
 
HPCR glClear(GL_COLOR_BUFFER_BIT) dithering
 
If you set the MESA_HPCR_CLEAR environment variable then dithering
will be used when clearing the color buffer. This is only applicable
to HP systems with the HPCR (Color Recovery) system.
 
 
Extensions
==========
There are three Mesa-specific GLX extensions at this time.
 
GLX_MESA_pixmap_colormap
 
This extension adds the GLX function:
 
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
Pixmap pixmap, Colormap cmap )
 
It is an alternative to the standard glXCreateGLXPixmap() function.
Since Mesa supports RGB rendering into any X visual, not just True-
Color or DirectColor, Mesa needs colormap information to convert RGB
values into pixel values. An X window carries this information but a
pixmap does not. This function associates a colormap to a GLX pixmap.
See the xdemos/glxpixmap.c file for an example of how to use this
extension.
 
GLX_MESA_release_buffers
 
Mesa associates a set of ancillary (depth, accumulation, stencil and
alpha) buffers with each X window it draws into. These ancillary
buffers are allocated for each X window the first time the X window
is passed to glXMakeCurrent(). Mesa, however, can't detect when an
X window has been destroyed in order to free the ancillary buffers.
 
The best it can do is to check for recently destroyed windows whenever
the client calls the glXCreateContext() or glXDestroyContext()
functions. This may not be sufficient in all situations though.
 
The GLX_MESA_release_buffers extension allows a client to explicitly
deallocate the ancillary buffers by calling glxReleaseBuffersMESA()
just before an X window is destroyed. For example:
 
#ifdef GLX_MESA_release_buffers
glXReleaseBuffersMESA( dpy, window );
#endif
XDestroyWindow( dpy, window );
 
This extension is new in Mesa 2.0.
 
GLX_MESA_copy_sub_buffer
 
This extension adds the glXCopySubBufferMESA() function. It works
like glXSwapBuffers() but only copies a sub-region of the window
instead of the whole window.
 
This extension is new in Mesa version 2.6
 
 
 
Summary of X-related environment variables:
MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)
MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only)
MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only)
MESA_GAMMA - gamma correction coefficients (X only)
 
 
----------------------------------------------------------------------
README.CYGWIN - lassauge April 2004 - based on README.X11
/contrib/sdk/sources/Mesa/docs/README.MITS
0,0 → 1,102
 
Mesa 3.0 MITS Information
 
 
This software is distributed under the terms of the GNU Library
General Public License, see the LICENSE file for details.
 
 
This document is a preliminary introduction to help you get
started. For more detaile information consult the web page.
 
http://10-dencies.zkm.de/~mesa/
 
 
 
Version 0.1 (Yes it's very alpha code so be warned!)
Contributors:
Emil Briggs (briggs@bucky.physics.ncsu.edu)
David Bucciarelli (tech.hmw@plus.it)
Andreas Schiffler (schiffler@zkm.de)
 
 
 
1. Requirements:
Mesa 3.0.
An SMP capable machine running Linux 2.x
libpthread installed on your machine.
 
 
2. What does MITS stand for?
MITS stands for Mesa Internal Threading System. By adding
internal threading to Mesa it should be possible to improve
performance of OpenGL applications on SMP machines.
 
 
3. Do applications have to be recoded to take advantage of MITS?
No. The threading is internal to Mesa and transparent to
applications.
 
 
4. Will all applications benefit from the current implementation of MITS?
No. This implementation splits the processing of the vertex buffer
over two threads. There is a certain amount of overhead involved
with the thread synchronization and if there is not enough work
to be done the extra overhead outweighs any speedup from using
dual processors. You will not for example see any speedup when
running Quake because it uses GL_POLYGON and there is only one
polygon for each vertex buffer processed. Test results on a
dual 200 Mhz. Pentium Pro system show that one needs around
100-200 vertices in the vertex buffer before any there is any
appreciable benefit from the threading.
 
 
5. Are there any parameters that I can tune to try to improve performance.
Yes. You can try to vary the size of the vertex buffer which is
define in VB_MAX located in the file src/vb.h from your top level
Mesa distribution. The number needs to be a multiple of 12 and
the optimum value will probably depend on the capabilities of
your machine and the particular application you are running.
 
 
6. Are there any ways I can modify the application to improve its
performance with the MITS?
Yes. Try to use as many vertices between each Begin/End pair
as possbile. This will reduce the thread synchronization
overhead.
 
 
7. What sort of speedups can I expect?
On some benchmarks performance gains of up to 30% have been
observerd. Others may see no gain at all and in a few rare
cases even some degradation.
 
 
8. What still needs to be done?
Lots of testing and benchmarking.
A portable implementation that works within the Mesa thread API.
Threading of additional areas of Mesa to improve performance
even more.
 
 
 
Installation:
 
1. This assumes that you already have a working Mesa 3.0 installation
from source.
2. Place the tarball MITS.tar.gz in your top level Mesa directory.
3. Unzip it and untar it. It will replace the following files in
your Mesa source tree so back them up if you want to save them.
 
 
README.MITS
Make-config
Makefile
mklib.glide
src/vbxform.c
src/vb.h
 
4. Rebuild Mesa using the command
 
make linux-386-glide-mits
 
/contrib/sdk/sources/Mesa/docs/README.QUAKE
0,0 → 1,207
 
Info on using Mesa 3.0 with Linux Quake I and Quake II
 
 
 
Disclaimer
----------
 
I am _not_ a Quake expert by any means. I pretty much only run it to
test Mesa. There have been a lot of questions about Linux Quake and
Mesa so I'm trying to provide some useful info here. If this file
doesn't help you then you should look elsewhere for help. The Mesa
mailing list or the news://news.3dfx.com/3dfx.linux.glide newsgroup
might be good.
 
Again, all the information I have is in this file. Please don't email
me with questions.
 
If you have information to contribute to this file please send it to
me at brianp@elastic.avid.com
 
 
 
Linux Quake
-----------
 
You can get Linux Quake from http://www.idsoftware.com/
 
Quake I and II for Linux were tested with, and include, Mesa 2.6. You
shouldn't have too many problems if you simply follow the instructions
in the Quake distribution.
 
 
 
RedHat 5.0 Linux problems
-------------------------
 
RedHat Linux 5.x uses the GNU C library ("glibc" or "libc6") whereas
previous RedHat and other Linux distributions use "libc5" for its
runtime C library.
 
Linux Quake I and II were compiled for libc5. If you compile Mesa
on a RedHat 5.x system the resulting libMesaGL.so file will not work
with Linux Quake because of the different C runtime libraries.
The symptom of this is a segmentation fault soon after starting Quake.
 
If you want to use a newer version of Mesa (like 3.x) with Quake on
RedHat 5.x then read on.
 
The solution to the C library problem is to force Mesa to use libc5.
libc5 is in /usr/i486-linux-libc5/lib on RedHat 5.x systems.
 
Emil Briggs (briggs@tick.physics.ncsu.edu) nicely gave me the following
info:
 
> I only know what works on a RedHat 5.0 distribution. RH5 includes
> a full set of libraries for both libc5 and glibc. The loader ld.so
> uses the libc5 libraries in /usr/i486-linux-libc5/lib for programs
> linked against libc5 while it uses the glibc libraries in /lib and
> /usr/lib for programs linked against glibc.
>
> Anyway I changed line 41 of mklib.glide to
> GLIDELIBS="-L/usr/local/glide/lib -lglide2x -L/usr/i486-linux-libc5/lib"
>
> And I started quake2 up with a script like this
> #!/bin/csh
> setenv LD_LIBRARY_PATH /usr/i486-linux-libc5/lib
> setenv MESA_GLX_FX f
> ./quake2 +set vid_ref gl
> kbd_mode -a
> reset
 
 
I've already patched the mklib.glide file. You'll have to start Quake
with the script shown above though.
 
 
 
**********************
 
Daryll Strauss writes:
 
Here's my thoughts on the problem. On a RH 5.x system, you can NOT build
a libc5 executable or library. Red Hat just doesn't include the right
stuff to do it.
 
Since Quake is a libc5 based application, you are in trouble. You need
libc5 libraries.
 
What can you do about it? Well there's a package called gcc5 that does
MOST of the right stuff to compile with libc5. (It brings back older
header files, makes appropriate symbolic links for libraries, and sets
up the compiler to use the correct directories) You can find gcc5 here:
ftp://ecg.mit.edu/pub/linux/gcc5-1.0-1.i386.rpm
 
No, this isn't quite enough. There are still a few tricks to getting
Mesa to compile as a libc5 application. First you have to make sure that
every compile uses gcc5 instead of gcc. Second, in some cases the link
line actually lists -L/usr/lib which breaks gcc5 (because it forces you
to use the glibc version of things)
 
If you get all the stuff correctly compiled with gcc5 it should work.
I've run Mesa 3.0B6 and its demos in a window with my Rush on a Red Hat
5.1 system. It is a big hassle, but it can be done. I've only made Quake
segfault, but I think that's from my libRush using the wrong libc.
 
Yes, mixing libc5 and glibc is a major pain. I've been working to get
all my libraries compiling correctly with this setup. Someone should
make an RPM out of it and feed changes back to Brian once they get it
all working. If no one else has done so by the time I get the rest of my
stuff straightened out, I'll try to do it myself.
 
- |Daryll
 
 
 
*********************
 
David Bucciarelli (tech.hmw@plus.it) writes:
 
I'm using the Mesa-3.0beta7 and the RedHat 5.1 and QuakeII is
working fine for me. I had only to make a small change to the
Mesa-3.0/mklib.glide file, from:
 
 
GLIDELIBS="-L/usr/local/glide/lib -lglide2x
-L/usr/i486-linux-libc5/lib -lm"
 
to:
 
GLIDELIBS="-L/usr/i486-linux-libc5/lib -lglide2x"
 
and to make two symbolic links:
 
[david@localhost Mesa]$ ln -s libMesaGL.so libMesaGL.so.2
[david@localhost Mesa]$ ln -s libMesaGLU.so libMesaGLU.so.2
 
I'm using the Daryll's Linux glide rpm for the Voodoo2 and glibc (it
includes also the Glide for the libc5). I'm not using the /dev/3Dfx and
running QuakeII as root with the following env. var:
 
export
LD_LIBRARY_PATH=/dsk1/home/david/src/gl/Mesa/lib:/usr/i486-linux-libc5/lib
 
I think that all problems are related to the glibc, Quake will never
work if you get the following output:
 
[david@localhost Mesa]$ ldd lib/libMesaGL.so
libglide2x.so => /usr/lib/libglide2x.so (0x400f8000)
libm.so.6 => /lib/libm.so.6 (0x40244000)
libc.so.6 => /lib/libc.so.6 (0x4025d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)
 
You must get the following outputs:
 
[david@localhost Mesa]# ldd lib/libMesaGL.so
libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so
(0x400f3000)
 
[root@localhost quake2]# ldd quake2
libdl.so.1 => /lib/libdl.so.1 (0x40005000)
libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x40008000)
libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x40010000)
 
[root@localhost quake2]# ldd ref_gl.so
libMesaGL.so.2 =>
/dsk1/home/david/src/gl/Mesa/lib/libMesaGL.so.2 (0x400eb000)
libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so
(0x401d9000)
libX11.so.6 => /usr/i486-linux-libc5/lib/libX11.so.6
(0x40324000)
libXext.so.6 => /usr/i486-linux-libc5/lib/libXext.so.6
(0x403b7000)
libvga.so.1 => /usr/i486-linux-libc5/lib/libvga.so.1
(0x403c1000)
libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x403f5000)
libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x403fd000)
 
 
***********************
 
Steve Davies (steve@one47.demon.co.uk) writes:
 
 
Try using:
 
export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
./quake2 +set vid_ref gl
 
to start the game... Works for me, but assumes that you have the
compatability libc5 RPMs installed.
 
 
***************************
 
WWW resources - you may find additional Linux Quake help at these URLs:
 
 
http://quake.medina.net/howto
 
http://webpages.mr.net/bobz
 
http://www.linuxgames.com/quake2/
 
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/README.THREADS
0,0 → 1,52
 
 
Mesa Threads README
-------------------
 
Thread safety was introduced in Mesa 2.6 by John Stone and
Christoph Poliwoda.
 
It was redesigned in Mesa 3.3 so that thread safety is
supported by default (on systems which support threads,
that is). There is no measurable penalty on single
threaded applications.
 
NOTE that the only _driver_ which is thread safe at this time
is the OS/Mesa driver!
 
 
At present the mthreads code supports three thread APIS:
1) POSIX threads (aka pthreads).
2) Solaris / Unix International threads.
3) Win32 threads (Win 95/NT).
 
Support for other thread libraries can be added src/glthread.[ch]
 
 
In order to guarantee proper operation, it is
necessary for both Mesa and application code to use the same threads API.
So, if your application uses Sun's thread API, then you should build Mesa
using one of the targets for Sun threads.
 
The mtdemos directory contains some example programs which use
multiple threads to render to osmesa rendering context(s).
 
Linux users should be aware that there exist many different POSIX
threads packages. The best solution is the linuxthreads package
(http://pauillac.inria.fr/~xleroy/linuxthreads/) as this package is the
only one that really supports multiprocessor machines (AFAIK). See
http://pauillac.inria.fr/~xleroy/linuxthreads/README for further
information about the usage of linuxthreads.
 
If you are interested in helping with thread safety work in Mesa
join the Mesa developers mailing list and post your proposal.
 
 
Regards,
John Stone -- j.stone@acm.org johns@cs.umr.edu
Christoph Poliwoda -- poliwoda@volumegraphics.com
 
 
Version info:
Mesa 2.6 - initial thread support.
Mesa 3.3 - thread support mostly rewritten (Brian Paul)
/contrib/sdk/sources/Mesa/docs/README.UVD
0,0 → 1,13
The software may implement third party technologies (e.g. third party
libraries) that are not licensed to you by AMD and for which you may need
to obtain licenses from other parties. Unless explicitly stated otherwise,
these third party technologies are not licensed hereunder. Such third
party technologies include, but are not limited, to H.264, MPEG-2, MPEG-4,
AVC, and VC-1.
 
For MPEG-2 Encoding Products ANY USE OF THIS PRODUCT IN ANY MANNER OTHER
THAN PERSONAL USE THAT COMPLIES WITH THE MPEG-2 STANDARD FOR ENCODING VIDEO
INFORMATION FOR PACKAGED MEDIA IS EXPRESSLY PROHIBITED WITHOUT A LICENSE
UNDER APPLICABLE PATENTS IN THE MPEG-2 PATENT PORTFOLIO, WHICH LICENSES IS
AVAILABLE FROM MPEG LA, LLC, 6312 S. Fiddlers Green Circle, Suite 400E,
Greenwood Village, Colorado 80111 U.S.A.
/contrib/sdk/sources/Mesa/docs/README.WIN32
0,0 → 1,70
File: docs/README.WIN32
 
Last updated: 21 June 2013
 
 
Quick Start
----- -----
 
Windows drivers are build with SCons. Makefiles or Visual Studio projects are
no longer shipped or supported.
 
Run
 
scons osmesa mesagdi
 
to build classic mesa Windows GDI drivers; or
 
scons libgl-gdi
 
to build gallium based GDI driver.
 
This will work both with MSVS or Mingw.
 
 
Windows Drivers
------- -------
 
At this time, only the gallium GDI driver is known to work.
 
Source code also exists in the tree for other drivers in
src/mesa/drivers/windows, but the status of this code is unknown.
 
Recipe
------
 
Building on windows requires several open-source packages. These are
steps that work as of this writing.
 
1) install python 2.7
2) install scons (latest)
3) install mingw, flex, and bison
4) install libxml2 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs
get libxml2-python-2.9.1.win-amd64-py2.7.exe
5) install pywin32 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs
get pywin32-218.4.win-amd64-py2.7.exe
6) install git
7) download mesa from git
see http://www.mesa3d.org/repository.html
8) run scons
 
General
-------
 
After building, you can copy the above DLL files to a place in your
PATH such as $SystemRoot/SYSTEM32. If you don't like putting things
in a system directory, place them in the same directory as the
executable(s). Be careful about accidentially overwriting files of
the same name in the SYSTEM32 directory.
 
The DLL files are built so that the external entry points use the
stdcall calling convention.
 
Static LIB files are not built. The LIB files that are built with are
the linker import files associated with the DLL files.
 
The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
 
If you have a Windows-related build problem or question, please post
to the mesa-dev or mesa-users list.
/contrib/sdk/sources/Mesa/docs/VERSIONS
0,0 → 1,1514
 
 
Mesa Version History
====================
 
1.0 beta February 1995
Initial release
 
1.1 beta March 4, 1995
Changes:
faster point and line drawing (2x faster)
more systems supported, better Makefiles
Renamed lib*.a files to avoid collisions
many small bug fixes
New:
pseudo-GLX functions added
new implementation of evaluators (eval2.c)
GLUT support
 
1.1.1 beta March 7, 1995
Changes:
Reverted from eval2.c to eval.c due to FPE on Linux
more speed improvements
more Makefile changes
 
1.1.2 beta March 14, 1995
New:
implementation of SGI's blending extensions
glXUseXFont implemented
added MESA_DEBUG environment variable support
Changes:
Using eval2.c again
more FPE-prevention checks (0-length normals are OK)
a few small bug fixes
much faster pixel logic ops!
faster transformation arithmetic
 
1.1.3 beta March 31, 1995
New:
gluScaleImage() and gluBuild2DMipMaps() implemented
Mesa widgets for Xt/Motif
blendEXT demos
added environment variables for selecting visuals
Changes:
almost all GLUT demos work correctly now
faster X device driver functions
more bug fixes
 
1.1.4 beta April 20, 1995
Bug fixes:
- missing #define SEEK_SET in src-tk/image.c
- compile glShadeModel into display lists
- fixed pow() domain error in src/light.c
- fixed "flickering bitmaps" in double buffer mode
- fixed tk.h and aux.h for C++
- state of LIGHT_MODEL_LOCAL_VIEWER was inverted
New features:
- MUCH, MUCH nicer dithering in 8-bit RGB mode
- updated widgets and widget demos
- Implemented GLXPixmap functions
- Added GLU 1.1 and GLX 1.1 functions
- Changed the X/Mesa interface API, more versatile
- Implemented gluPartialDisk()
 
1.2 May 22, 1995
Bug fixes:
- IRIX 4.x makefile problem
- modified tk to share root colormap as needed
- gluLookAt normalization problem
- suppress Expose, NoExpose events in swapbuffers
- glBitmap() and glDrawPixels() clipping
New features:
- GL_BLEND, GL_MODULATE, GL_DECAL, and GL_REPLACE_EXT texture
modes implemented
- texture maps stored more efficiently
- texture maps can be compiled into display lists
- Bogdan Sikorski's GLU polygon tesselation code
- Linas Vepstas's sweep and extrusion library
- glXCreateContext()'s shareList parameter works as it's supposed to.
XMesaCreateContext() updated to accept a shareList parameter too.
- Mesa can be compiled with real OpenGL .h files
- MESA_BACK_BUFFER environment variable
- better GLX error checking
 
1.2.1 June 22, 1995
Bug fixes:
- X/Mesa double buffer window resize crash
- widgets now pass PointerMotion events
- X/Mesa incorrect default clear color and drawing color
- more robust X MIT-SHM support in X/Mesa
- glTexImage( format=GL_LUMINANCE ) didn't work
- GL_LINE mode polygons with line width > 1.0 could cause a crash
- numerous feedback bugs
- glReadPixels() from depth buffer was wrong
- error prone depth and stencil buffer allocation
New features:
- Preliminary Microsoft Windows driver
- Implemented a number of missing functions: glEvalCoord[12][df]v(),
glGet...(), etc.
- Added a few missing symbols to gl.h and glu.h
- Faster rendering of smooth-shaded, RGBA, depth-buffered polygons.
- Faster rendering of lines when width=2.0
- Stencil-related functions now work in display lists
Changes:
- renamed aux.h as glaux.h (MS-DOS names can't start with aux)
- most filenames are in 8.3 format to accomodate MS-DOS
- use GLubytes to store arrays of colors instead of GLints
 
1.2.2 August 2, 1995
New features:
- texture mapped points and lines
- NURBS! (but not 100% complete)
- viewports may safely extend beyond window boundaries
- MESA_PRIVATE_CMAP environment variable
- Grayscale X display support
- two new demos: demos/gears.c and demos/shadow.c
- MachTen for Macintosh configuration
Bug fixes:
- glGet*(GL_DEPTH_BITS) returned bytes, not bits
- point, line, and bitmap rasterization suffered from roundoff errors
- fixed a division by zero error in line clippping
- occasional wrong default background color really fixed!
- glDepthFunc(GL_ALWAYS) with glDepthMask(GL_FALSE) didn't work
- gluBuild2DMipmaps malloc problem fixed
- view volume clipping of smooth shaded lines resulted in bad colors
Changes:
- new visual selection method in glXChooseVisual()
- improved GLU quadric functions
- call XSync for glFinish and XFlush for glFlush
- glVertex() calls now use a function pointer to avoid conditionals
- removed contrib directory from Mesa tar file (available on ftp site)
- AIX shared library support
- Removed GLUenum type as it's not in OpenGL
 
1.2.3 September 26, 1995
New features:
- Mesa header files now equivalent to SGI OpenGL headers
- Support for HP's Color Recovery dithering displays
- Faster vertex transformation
- Faster raster operations into X windows under certain conditions
- New configurations: HP w/ shared libs, Ultrix w/ GCC, Data General
- 4-bit visuals now supported
Bug fixes:
- glScissor bug fixed
- round-off errors in clipping lines against clip planes fixed
- byte swapping between hosts and display servers implemented
- glGetError() can be called without a current rendering context
- problem with accidentally culled polygons is fixed
- fixed some widget compilation problems
 
1.2.4 November 17, 1995
New features:
- More speed improvements (lighting, fogging, polygon drawing)
- Window system and OS-independent off-screen rendering
- Preliminary Fortran bindings
- glPolygonOffsetEXT implemented
- glColorMask and glIndexMask now fully implemented
- glPixelZoom implemented
- display lists fully implemented
- gamma correction
- dithering in 8-bit TrueColor/DirectColor visuals
Changes:
- Improved device driver interface
- tk.h renamed to gltk.h to avoid conflicts with Tcl's Tk
- Dithering support moved from core into device driver
Bug fixes:
- glEnable/Disable( GL_LIGHTING ) didn't always take effect
- glReadPixels byte swapping was broken
- glMaterial with pname==GL_AMBIENT_AND_DIFFUSE was broken
- duplicate glColor4b() prototype in GL/gl.h removed
- stripes in wave -ci demo fixed
- GL_LINEAR_MIPMAP_NEAREST had wrong value
- bugs in HP Color Recovery support fixed
- fixed bug when blending lines, points, bitmaps outside of window
 
1.2.5 November 30, 1995
New Features:
- updated MS Windows driver
- new implementation of StaticGray/GrayScale visual support
Bug fixes:
- pixelzooming with gamma correction or blending didn't work
- HP color recovery visual wasn't being picked by glXChooseVisual
- glClear didn't always observe glColorMask changes
- olympic and offset demos didn't compile on some Suns
- texcoord clamping wasn't correct
- a polygon optimization introduced an occasional sampling problem
 
1.2.6 January 26, 1996
New Features:
- faster line and polygon rendering under certain conditions. See
Performance Tips 9 and 10 in README
- profiling
- lighting is a bit faster
- better perspective corrected texture mapping
- Amiga AmiWin (X11) support
- preliminary Linux SVGA driver
Changes:
- now using a 16-bit depth buffer, faster, smaller
- GL_NORMALIZE is disabled by default
Bug fixes:
- projective texture mapping
- fixed a memory leak in the context destroy function
- GL_POLYGON with less than 3 vertices caused a crash
- glGet*() returned wrong result for GL_INDEX_MODE
- reading pixels from an unmapped X window caused a BadMatch error
 
1.2.7 March 5, 1996
New:
- faster lighting
- faster 16-bit TrueColor rendering on Linux
- faster 32-bit TrueColor rendering on Linux, HP, IBM
- non-depth-buffered XImage polygons are faster
- vertex array extension
- software alpha planes
- updated Macintosh driver
- new NeXT driver
- GLU quadric functions generate texture coordinates
- reflect.c demo - reflective, textured surface demo
Changes:
- gamma correction code moved into the X driver for better performance
Bug fixes:
- multiple glClipPlane()'s didn't work reliably
- glPolygonMode() didn't always work
- glCullFace( GL_FRONT_AND_BACK ) didn't work
- texture mapping with gamma correction was buggy
- floating point exceptions in texture coordinate interpolation
- XImage byte swapping didn't always work
- polygon edge flags weren't always used correctly
 
1.2.8 May 22, 1996
New:
- overlay planes on X servers with the SERVER_OVERLAY_VISUALS property
- better monochrome output
- more IRIX 6.x configurations
- more robust RGB mode color allocation
- added MESA_XSYNC environment variable
- GLX_MESA_pixmap_colormap and GLX_EXT_visual_info extensions
- GL_MESA_window_pos extension
- faster glReadPixels/glDrawPixels for GL_DEPTH and GL_UNSIGNED_SHORT
and GL_UNSIGNED_INT
- driver for prototype Cirrus Mondello 3-D board
- updated AmigaDOS driver
- a few small speed optimizations in polygon rendering
Changes:
- internal device driver interface modified to simplify device
driver implementations and to support hardware Z buffers
- several changes to the X/Mesa interface (xmesa.h)
Bug fixes:
- fixed pow(0,0) domain error triggered on some systems
- glStencilClear() in a display list caused an infinite loop
- glRasterPos*() was sometimes off by +/-0.5 in X and Y
- color masking and blending were performed in wrong order
- auxSolidCylinder() sometimes drew a wire-frame cylinder
- fixed file writing bug in osdemo.c
- pixel mapping didn't always work
- the GL_GEQUAL stencil func didn't work
- the GL_INVERT stencil op didn't work
- the stencil write mask didn't work
- glPush/PopAttrib() didn't do enough error checking
- glIsList() didn't always work correctly
 
2.0 October 10, 1996
New:
- Implements OpenGL 1.1 API functions
- all texture filtering modes supported (mipmapping)
- faster texture mapping, see Performance Tip 11 in README
- antialiased RGB points
- X support for line and polygon stippling
- glDrawBuffer( GL_FRONT_AND_BACK ) works
- util/ directory of useful stuff
- demos/texobj demo of texture objects
Changes:
- major internal changes for thread-safeness
- new device driver interface
- MESA_ALPHA env variable removed
- triangle rasterizer replaces polygon rasterizer
Bug fixes:
- glPopAttrib() bug
- glDrawBuffer(GL_NONE) works now
 
2.1 December 14, 1996
New:
- VMS support
- MS-DOS driver
- OpenStep support
- updated, combined Windows 95/NT driver
- implemented glGetLighti() and glGetTexGen*()
- GLX does garbage collection of ancillary buffers
Bug fixes:
- removed unused _EXT constants from gl.h
- fixed polygon offset bugs
- Z coordinates of clipped lines were incorrect
- glEdgeFlag() in display lists didn't always work
- glLight*() in display lists didn't work
- fixed X line stipple bugs (Michael Pichler)
- glXUseXfonts XFreeFont/XFreeFontInfo bug fixed
- fixed a feedback bug
- glTexGen*() now transforms GL_EYE_PLANE by inverse modelview matrix
- polygons were sometimes culled instead of clipped
- triangle rasterizer suffered from float/int overflow exceptions
- fixed FP underflow exception in lighting (specular exponent)
- glEnable/glDisable of GL_EXT_vertex_array enums didn't work
- fixed free(NULL) in GLU tesselator code
- using 24-bit color on some X servers resulted in garbage rendering
- 32-bit per pixel mode for XFree86 now works
- glRotate(a,0,0,0) gave unpredictable results
- GL_LINE_STRIP with > 480 vertices had occasional clipping problems
- 8-bit TrueColor GLXPixmap rendering incorrectly required a colormap
- glMaterial() wasn't ignored when GL_COLOR_MATERIAL was enabled
- glEnable(GL_COLOR_MATERIAL) followed by glColor() didn't work right
- accumulation buffer was limited to positive values
- projective textures didn't work
- selection buffer overflows weren't handled correctly
Changes:
- restored the GL_EXT_polygon_offset extension
- slightly faster RGB dithering
- the SVGA driver works again
- Amiga driver now distributed separately
- NeXT driver updated for Mesa 2.x
 
2.2 March 14, 1997
New:
- better color selection when dithering
- added GL_EXT_texture_object extension
- updated MS-DOS driver for DJGPP
- added openbsd make configuration
- faster dithered flat-shaded triangles
- various compilation problems with Motif widgets fixed
- gl.h, glx.h and glu.h name mangling option
- BeOS driver
- 3D texture mapping extension
- GL_MESA_resize_buffers extension
- morph3d, stex3d and spectex demos
- 3Dfx support
Bug fixes:
- glColorMaterial should finally work right in all respects
- linear interpolation of mipmap levels was incorrectly weighted
- readpix.c didn't compile on Macintosh
- GL_INVERT and related logic ops didn't work right
- glTexImage[12]D() didn't check its parameters consistantly
- fixed a memory leak in glTexImage[12]D()
- kludged around a SunOS 5.x/GCC compiler bug in the feedback code
- glReadPixels aborted instead of normally catching some errors
- a few 1.1 constants were missing or misnamed in gl.h
- glBegin(p); glBegin(q); didn't generate an error
- fixed a memory leak in GLX code
- clipping of concave polygons could cause a core dump
- 1-component alpha texture maps didn't work
- fixed a GLU polygon tesselator bug
- polygons with colinear vertices were sometimes culled
- feedback triangle colors were wrong when using smooth shading
- textures with borders didn't work correctly
- colors returned in feedback mode were wrong when using lighting
- spotlights didn't effect ambient lighting correctly
- gluPartialDisk() had a few bugs
Changes:
- device driver interface expanded to support texture mapping
- faster matrix inversion subroutine
- commented out #include "wmesa_extend.h" from src/wmesa.c
- fixed many compiler warnings in the demo programs
 
2.3 June 30, 1997
New:
- Mesa distribution divided into two pieces: library code and demos
- faster vertex transformation, clip testing, lighting
- faster line drawing
- TrueColor visuals how have dithering (for depths < 24 bits)
- added MESA_NO_DITHER environment variable
- new device driver function: NearFar(), RenderVB(), RasterSetup()
- added LynxOS configuration
- added cygnus Win32 configuration
- added texcyl.c GLUT demo
- added XMesaDitherColor() to X/Mesa interface
- new NURBS code from Bogdan Sikorski
- added demos/shape.c (non-rectangular X window!)
Bug fixes:
- glEnable/DisableClientState() were missing from GL/gl.h
- GL_SPHERE_MAP texcoord generation didn't work correctly
- glXGetConfig() returned wrong number of depth, stencil, accum bits
- glDrawPixels feedback/selection didn't examine RasterPos valid bit
- black and white were reversed on some monochrome displays
- fixed potential image memory leak (wasn't setting reference counter)
- glDrawPixels sometimes didn't recognize some GL state changes
- gluProject/UnProject() didn't check for divide by zero
- stex3d demo called random() and srandom(), not portable
- fixed memory leaks in context.c and drawpix.c
- fixed NULL dereferencing problem in gl_update_texture_state()
- glReadPixels between glBegin/glEnd didn't generate an error.
- fixed memory leak in polygon tesselator (Randy Frank)
- fixed seg fault bug drawing flat-shaded, depth-tested lines
- clipped GL_TRIANGLE_STRIPs sometimes had wrong color when flat-shaded
- glBindTexture sometimes didn't work
- fixed a bug deep in glXReleaseBuffersMESA()
- fog was mistakenly applied to alpha
- glPopMatrix didn't set "dirty matrix" flag
- glPolygonStipple pattern was sometimes wrong
- glClear wasn't disabled during feedback and selection
- fixed memory leak in glTexSubImage[123]D
Changes:
- many library source files reorganized
- faster X color allocation, colors also freed when finished with them
- new texture sampling function pointer in texture objects
- incorporated 3Dfx VooDoo driver v0.16 into main source tree
- many 3Dfx driver updates
- cygnus Makefiles now included
- updated DOS driver
- made a few changes to dosmesa.c and wmesa.c (VB->Unclipped)
- internally, colors now stored in GLubytes, not GLfixed
- optimized changing of GL_SHININESS parameter
 
2.4 September 18, 1997
New:
- updated 3Dfx Glide driver
- hacks for 3Dfx rendering into an X window or fullscreen
- added depth buffer access functions to X/Mesa and OS/Mesa interfaces
Bug fixes:
- pixel buffer could overflow with long, wide lines
- fixed FP underflow problems in lighting
- glTexSubImage1D() had an unitialized variable
- incomplete texture objects could cause a segfault
- glDrawPixels with GL_COMPILE_AND_EXECUTE caused infinite loop
- flat-shaded quads in a strip were miscolored if clipped
- mipmapped triangle lod computation now works correctly
- fixed a few under/overflow bugs in triangle rasterizer
- glArrayElement() assigned bad normal if normal array disabled
- changed argument to glXReleaseBuffersMESA()
- fixed small triangle underflow bugs in tritemp.h (hopefully)
- glBindTexture(target, 0) caused a crash
- glTexImage[123]D() with NULL image pointer caused crash
- glPixelStore parameters are now ignored during display list execution
- fixed a two-sided lighting w/ clipping bug (black vertices)
- textures with width!=height were sometimes mis-rendered
- "weird" projection matrices could cause div by 0, other fp errors
Changes:
- changed precompiled header symbol from PCH to PC_HEADER
- split api.c into api1.c and api2.c
- added hash.c source file (but not used yet)
- a few Sun and HP configuration file changes
- MESA_GLX_FX env var replaces MESA_FX_WINDOW and MESA_FX_FULLSCREEN
- fixed a few cygnus build problems (src/Makefile.cygnus, src/wmesa.c)
 
2.5 November 20, 1997
New:
- updated 3Dfx driver (v20) for GLQuake
- added GL_EXT_paletted_texture extension
- added GL_EXT_shared_texture_palette extension
- added GL_EXT_point_parameters extension
- now including Mark Kilgard's GLUT library v3.6
- new GLUT-based demos in gdemos/
- added a few more Unix config targets
- added Intel X86 assembly language vertex transformation code
- 3Dfx/Glide driver for Mesa now recognizes SST_SCREENREFRESH env var
- Windows 95 S3 Virge driver
Bug fixes:
- glCopyTexImage?D would crash due to uninitialized variable
- glColor w/ glColorMaterial in a display list caused a bug
- fixed several glDrawPixels() and ReadPixels() bugs in 3Dfx driver
- glVertex4*() vertices weren't always projected correctly
- trying to use mipmapped textured points or lines caused crash
- glColor[34][fd]() values now clamped to [0,1] before int conversion
Changes:
- new device driver functions for texture mapping
- hash tables used for display list and texture object lookup
- fixed GLX visual handling code to avoid saving redundant visuals
- 3Dfx Glide libraries automatically linked to libMesaGL.so
- dropped the Cirrus Logic Mondello code since it's obsolete
- updated Cygnus Makefiles (Stephane Rehel)
- updated Windows MSVC++ Makefiles (Oleg Letsinsky)
- procedure for making library files has changed: scripts now take
a major and minor version arguments. Make-config changed a lot.
- new implementation of glTexSubImage2D()
- updated widgets-mesa directory to create libMesaGLwM.a (Motif widget)
- separate linux-glide and linux-386-glide configurations
 
2.6 February 12, 1998
New:
- Windows WGL functions
- updated VMS, DOS, Windows, Cygnus, BeOS, Amiga compilation support
- v0.22 of 3Dfx Glide driver
- more X86 assembly language optimizations
- faster blending for some modes
- XMesaSetFXmode() to switch between 3Dfx window and full-screen mode
- added preliminary thread support
- added GLX_MESA_copy_sub_buffer extension
- some clipping optimizations
Bug fixes:
- fixed shading/material bug when drawing long primitive strips
- fixed clipping problem in long primitive strips
- fixed clipping bug when using 3Dfx driver
- fixed a problem when trying to use X fonts w/ 3Dfx driver
- fixed a texture filter bug in 3Dfx/Glide driver
- fixed bug in 3Dfx/Glide driver involving depth mask & clearing
- glLoadMatrix to set projection matrix confused the 3Dfx driver
- non-identity texture matrices didn't work with linux-386 configs
- glGenTextures() didn't reserve the returned texture IDs
- NULL proxy image sent to glTexImageXD() caused crash
- added texture state validation optimization (Henk Kok)
- fixed colormap reuse problem when using both RGB and CI windows
- 32bpp True/DirectColor X visuals weren't recognized
- fixed potential problem in evaluators memory allocation
- fixed assorted demo compilation bugs
Changes:
- replaced old Mesa/windows/ directory with Mesa/WIN32/ directory
- converted a few old glaux/gltk demos to GLUT
- renamed directories: demos -> xdemos, gdemos -> demos
 
 
3.0 September 17, 1998
New:
- OpenGL 1.2 API
- GL_EXT_abgr pixel format extension
- GL_SGIS_texture_edge_clamp extension
- GL_SGIS_multitexture extension (to be replaced by GL_ARB_multitex)
- GL_EXT_multitexture extension (to be replaced by GL_ARB_multitex)
- GL_EXT_rescale_normal extension and renormal.c demo
- GLX_SGI_video_sync extension (a no-op)
- antialiased lines
- glGetTexImage() now implemented
- glDraw/Copy/ReadPixels() optimizations
- optimized textured triangle code (Marten Stromberg)
- more optimization of dithered TrueColor triangles in X driver
- Linux GGI driver
- updated MGL driver
Bug fixes:
- lots of assorted compilation fixes
- glInitNames didn't write initial hit record
- glBitmap didn't always check for invalid raster position
- switching between GLX and OSMesa contexts caused a crash
- fixed uninitialized variable in Mesa widget code
- fixed typo in texture code which caused book/texgen to crash
- fixed texture sampling bug when filter=GL_LINEAR and wrap=GL_CLAMP
- gluDisk() in POINT or LINE mode sometimes failed
- fixed texture + fog bug
- GL_COMPILE_AND_EXECUTE mode didn't work reliably
- glMultMatrix in projection matrix mode w/ 3Dfx driver could fail
- glDrawPixels(color index pixels) weren't converted to RGBA
- fixed possible getenv() buffer overflow security bug
- glBitmap in feedback mode was offset by xOrig, yOrig params
- device driver's DrawPixels hook was never used
- glDrawPixels with zoomY!=1 and top/bottom clipping didn't work
- glDrawPixels optimized for GL_LUMINANCE, GL_LUMINANCE_ALPHA, GLubyte
- fixed MakeCurrent bug in GLwRedrawObjects() in MesaWorkstation.c
- glCopyTexSubImage2D() didn't work with 3Dfx driver
- lines with width = 2 could cause crash
- glClear with scissor rect sometimes cleared whole buffer
- glTexSubImage2D( .. GL_COLOR_INDEX .. ) didn't work
- glTexImageXD( .. GL_ABGR_EXT .. ) didn't work
- computation of inverse modelview matrix sometimes failed
- fixed GL_CLAMP mode texture sampling bug
- textured line interpolation was somewhat broken
- textured triangle interpolation was also somewhat broken
- glGet(MODELVIEW/PROJECTION/TEXTURE_MATRIX_STACK_DEPTH) off by one
- evaluator state wasn't fully initialized
- texture coordinate clipping was buggy
- evaluator surfaces could be mis-colored
- glAccum(GL_RETURN, s) didn't obey glColorMask() settings
- zero area polygons shouldn't be culled if polygon mode is point/line
- clipped width and height of glReadPixels was sometimes off by one
- blending with alpha = 0 or 1.0 wasn't always exact
- reading of pixels from clipped region was buggy
- minor tweaking of X visual management in GLX emulator
- glPolygonStipple now obeys pixel unpacking parameters
- glGetPolygonStipple now obeys pixel packing parameters
- interleaved vertex array texture coordinates were broken
- query of proxy texture internal format was broken
- alpha channel wasn't reliably cleared
- fixed divide by zero error in gluScaleImage if dest size = 1 x 1
Conformance bug fixes:
- GL_SELECTION_BUFFER_POINTER and GL_SELECTION_BUFFER_SIZE were missing
- GL_TEXTURE_INTERNAL_FORMAT was missing
- glGet*(GL_POLYGON_STIPPLE) was broken
- glPush/PopAttrib() didn't save/restore all texture state
- glBitmap in feedback mode didn't work
- feedback of texture coords didn't always work
- glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLbyte was broke
- glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLubyte was broke
- glDrawPixels w/ format=GL_STENCIL_INDEX, type=GL_BITMAP was broke
Changes:
- upgraded GLUT to version 3.7
- only GL and GLU library code included in MesaLib.tar.gz
- GLUT and all demos now in MesaDemos.tar.gz
- glaux and gltk libraries removed
- IRIX -n32 and -64 libs go in lib32/ and lib64/ directories
 
 
3.1 beta 1 November 19, 1998
New:
- GL_EXT_stencil_wrap extension
- GL_INGR_blend_func_separate extension
- GL_ARB_multitexture extension
- GL_NV_texgen_reflection extension
- newly optimized vertex transformation code
- updated GLUT 3.7 code
- better precision when using 32-bit Z buffer
- Allegro DJGPP driver
Bug fixes:
- glCopyPixels between front/back buffers didn't copy alpha correctly
- fixed out-of-bounds memory access in optimized 2-D texture code
- glPixelStorei didn't accept GL_PACK/UNPACK_IMAGE_HEIGHT parameter
- glGet*() didn't accept GL_MAX_3D_TEXTURE_SIZE parameter
- clipping of texture coordinates sometimes had bad R,Q values
- GL_CLAMP_TO_EDGE texture sampling was off by 0.5 texels
- glEdgeFlagPointer() now takes a GLvoid * instead of GLboolean *
- texture was sometimes applied twice with 3Dfx driver
- glPush/PopAttrib() fouled up texture object reference counts
- glDeleteLists(0, n) caused assertion failure
- bilinear texture sampling wasn't accurate enough
- glClear w/ glDepthMask(GL_FALSE) didn't work right on 3Dfx
- color components were reversed on big endian 32 bpp X visuals
Changes:
- removed GL_EXT_multitexture extension
 
 
3.1 beta 2 May 24, 1999
New:
- multi-textured points and lines (mjk@nvidia.com)
- optimized 24bpp X rendering (bernd.paysan@gmx.de)
- added allegro support (bernie-t@geocities.com)
- cleaned-up Windows-related stuff (Ted Jump)
- minor stereo changes (KendallB@scitechsoft.com)
- new BeOS driver which implements BGLView class
- new Direct3D driver (see src/D3D)
- more efficient filled gluCylinder() function
- utilities: util/showbuffer.[ch] and util/glstate.[ch]
- fixed some IRIX compiler warnings
- added support for building Mesa in XFree86 with
SGI's GLX (kevin@precisioninsight.com)
Bug fixes:
- a variety of Windows/Mesa bug fixes (mjk@nvidia.com)
- packed pixel images weren't unpacked correctly
- patches some win32 files in GLUT (mjk@nvidia.com)
- glTexImage[123]D() didn't accept internalFormat == GL_COLOR_INDEX
- fixed lighting bug in Keith's new shading code
- fixed texture segfault seen in Lament screensaver
- fixed miscellaneous low-memory bugs
- glClear(GL_COLOR_BUFFER_BIT) with RGBA or CI masking was broken
- GL_LINEAR sampling of 3D textures was broken
- fixed SVR4 'cc' compiler macro problem (dawes@xfree86.org)
- added GL_TEXTURE_PRIORITY fix (keithh@netcomuk.co.uk)
- fixed wide point and wide line conformance bugs (brianp)
Changes:
- some device driver changes (see src/dd.h)
- new copyright on core Mesa code
 
 
3.1 beta 3 September 17, 1999
New:
- optimized glAccum function
- optimized 24bpp rendering in XMesa driver
- GLU 1.2 polygon tessellator
Bug Fixes:
- glGetTexLevelParameter wasn't fully implemented
- glXUseXFont now handles multi-byte fonts
- glIsEnabled(GL_TEXTURE_2D / 3D) returned wrong result
- alpha channel of blending points, lines was sometimes incorrect
Changes:
- New library names: "libGL" instead of "libMesaGL"
- New library numbering: libGL.so.1.2.310
- New subdirectories: docs/ and bin/
- New Makefile-system (autoconf,automake,libtool)
 
 
3.1 final December 14, 1999
New:
- added demos/gloss.c
- added xdemos/glxdpyinfo.c
- added GLX_ARB_get_proc_address extension
- rewritten glTexImage code paths (faster, less memory, bug fixes)
Bug Fixes:
- several vertex array bug fixes
- overlapping glCopyPixels with pixel zooming now works
- glXUseXFont() bitmaps were vertically shifted by one pixel
- glCopyPixels with pixel zooming now works
 
 
3.2 final April 24, 2000
Bug fixes:
- fixed memcpy bugs in span.c
- fixed missing glEnd problem in demos/tessdemo.c
- fixed bug when clearing 24bpp Ximages
- fixed clipping problem found in Unreal Tournament
- fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
- fixed Loki's 3dfx RGB vs BGR bug
- fixed Loki's 3dfx smooth/flat shading bug in SoF
Changes:
- updated docs/README file
- use bcopy() optimizations on FreeBSD
- re-enabled the optimized persp_textured_triangle() function
 
 
3.2.1 July 19, 2000
Bug fixes:
- gluBuild2DMipmaps() didn't accept GL_BGRA
- Fixed compile/makefile problems on IRIX
- fixed segfault in 3dfx driver when using GL selection/feedback
- no longer cull very, very tiny triangles
- blending w/ drawbuffer==GL_FRONT_BACK caused segfault (sw rendering)
- fixed Motif detection code in widgets-mesa/configure.in
- glColorMaterial and glMaterial updates to emissive and ambient
didn't always work right
- Specular highlights weren't always in the right place
- clipped GL_LINE mode polygons had interior lines appear
- blend term GL_ONE_MINUS_CONSTANT_ALPHA was broken
- GL_NICEST fog didn't always work with flat shading
- glRect commands in display lists were sometimes miscolored
- Line Z offset didn't always work
- fixed texgen normal vector problem (gloss's teapot)
- numerous GL conformance bugs fixed
Changes:
- glColorMask(false, false, false, false) handled better/faster
- reverted to old GLU polygon tessellator, GLU 1.1
- updated Win32 build files
 
 
3.3 July 21, 2000
New:
- antialiased triangles now implemented
- GL_EXT_texture_env_add texture mode extension
- GLX 1.3 API
- support for separate draw/read buffers (ie GL_SGI_make_current_read)
- thread-safe API dispath
- improved glxinfo program
- demos/texdown program to measure texture download performance
- glext.h header file
- demos/geartrain program
- GL_EXT_texture_lod_bias extension
- demos/lodbias program
- further optimized glRead/DrawPixels for 16-bit TrueColor X visuals
- GLX_EXT_visual_rating extension (a no-op, however)
- GL_HP_occlusion_test extension (for X and OS/Mesa drivers)
- demos/occlude program
- GL_SGIS_pixel_texture and GL_SGIX_pixel_texture extensions
- demos/pixeltex program
- GL_SGI_color_matrix extension
- GL_SGI_color_table extension
- GL_EXT_histogram extension
- GL_ARB_texture_cube_map extension
- added xdemos/glxheads and xdemos/manywin
- demos/texenv.c demo
- GL_EXT_texture_env_combine extension (by Holger Waechtler)
- Xlib driver is now thread-safe (see xdemos/glthreads)
Bug Fixes:
- various GL conformance failures fixed since 3.2.1
Changes:
- gl.h now uses #defines instead of C enums for all tokens
- glu.h now uses #defines instead of C enums for all tokens
- moved programs from 3Dfx/demos/ into demos/ directory
 
 
3.4 November 3, 2000
New:
- optimized glDrawPixels for glPixelZoom(1,-1)
Bug Fixes:
- widgets-mesa/src/*.c files were missing from 3.3 distro
- include/GL/mesa_wgl.h file was missing from 3.3 distro
- fixed some Win32 compile problems
- texture object priorities weren't getting initialized to 1.0
- glAreTexturesResident return value was wrong when using hardware
- glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
- glReadPixels with GLushort packed types was broken
- fixed a few bugs in the GL_EXT_texture_env_combine texture code
- glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
- fixed some typos/bugs in the VB code
- glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
- optimized glDrawPixels paths weren't being used
- per-fragment fog calculation didn't work without a Z buffer
- improved blending accuracy, fixes Glean blendFunc test failures
- glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
- glXGetProcAddressARB() didn't always return the right address
- gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
- texture matrix changes weren't always detected (GLUT projtex demo)
- fixed random color problem in vertex fog code
- fixed Glide-related bug that let Quake get a 24-bit Z buffer
Changes:
- finished internal support for compressed textures for DRI
 
 
3.4.1 February 14, 2001
New:
- fixed some Linux build problems
- fixed some Windows build problems
- GL_EXT_texture_env_dot3 extension (Gareth Hughes)
Bug fixes:
- added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
- various state-update code changes needed for DRI bugs
- disabled pixel transfer ops in glColorTable commands, not needed
- fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
- updated sources and fixed compile problems in widgets-mesa/
- GLX_PBUFFER enum value was wrong in glx.h
- fixed a glColorMaterial lighting bug
- fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
- glXCopySubBufferMESA() Y position was off by one
- Error checking of glTexSubImage3D() was broken (bug 128775)
- glPopAttrib() didn't restore all derived Mesa state correctly
- Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
conformance problems at 16bpp.
- clearing depth buffer with scissoring was broken, would segfault
- OSMesaGetDepthBuffer() returned bad bytesPerValue value
- fixed a line clipping bug (reported by Craig McDaniel)
- fixed RGB color over/underflow bug for very tiny triangles
Known problems:
- NURBS or evaluator surfaces inside display lists don't always work
 
 
3.4.2 May 17, 2001
Bug fixes:
- deleting the currently bound texture could cause bad problems
- using fog could result in random vertex alpha values
- AA triangle rendering could touch pixels outside right window bound
- fixed byteswapping problem in clear_32bit_ximage() function
- fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
- fixed memory leak in glXUseXFont()
- fragment sampling in AA triangle function was off by 1/2 pixel
- Windows: reading pixels from framebuffer didn't always work
- glConvolutionFilter2D could segfault or cause FP exception
- fixed segfaults in FX and X drivers when using tex unit 1 but not 0
- GL_NAND logicop didn't work right in RGBA mode
- fixed a memory corruption bug in vertex buffer reset code
- clearing the softwara alpha buffer with scissoring was broken
- fixed a few color index mode fog bugs
- fixed some bad assertions in color index mode
- fixed FX line 'stipple' bug #420091
- fixed stencil buffer clear width/height typo
- fixed GL error glitches in gl[Client]ActiveTextureARB()
- fixed Windows compilation problem in texutil.c
- fixed 1/8-pixel AA triangle sampling error
Changes:
- optimized writing mono-colored pixel spans to X pixmaps
- increased max viewport size to 2048 x 2048
 
 
3.5 June 21, 2001
New:
- internals of Mesa divided into modular pieces (Keith Whitwell)
- 100% OpenGL 1.2 conformance (passes all conformance tests)
- new AA line algorithm
- GL_EXT_convolution extension
- GL_ARB_imaging subset
- OSMesaCreateContextExt() function
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
- GL_EXT_fog_coord extension (Keith Whitwell)
- GL_EXT_secondary_color extension (Keith Whitwell)
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- GL_SGIX_depth_texture extension
- GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
- demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
- GL_ARB_texture_env_combine extension
- GL_ARB_texture_env_dot3 extension
- GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
- OSMesaCreateContextExt() function
- libOSMesa.so library, contains the OSMesa driver interface
- GL/glxext.h header file for GLX extensions
- somewhat faster software texturing, fogging, depth testing
- all color-index conformance tests now pass (only 8bpp tested)
- SPARC assembly language TCL optimizations (David Miller)
- GL_SGIS_generate_mipmap extension
Bug Fixes:
- fbiRev and tmuRev were unitialized when using Glide3
- fixed a few color index mode conformance failures; all pass now
- now appling antialiasing coverage to alpha after texturing
- colors weren't getting clamped to [0,1] before color table lookup
- fixed RISC alignment errors caused by COPY_4UBV macro
- drawing wide, flat-shaded lines could cause a segfault
- vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
Changes:
- SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
- new libOSMesa.so library, contains the OSMesa driver interface
 
 
4.0 October 22, 2001
New:
- Mesa 4.0 implements the OpenGL 1.3 specification
- GL_IBM_rasterpos_clip extension
- GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
- GL_ARB_texture_mirrored_repeat extension
- WindML UGL driver (Stephane Raimbault)
- added OSMESA_MAX_WIDTH/HEIGHT queries
- attempted compiliation fixes for Solaris 5, 7 and 8
- updated glext.h and glxext.h files
- updated Windows driver (Karl Schultz)
Bug fixes:
- added some missing GLX 1.3 tokens to include/GL/glx.h
- GL_COLOR_MATRIX changes weren't recognized by teximage functions
- glCopyPixels with scale and bias was broken
- glRasterPos with lighting could segfault
- glDeleteTextures could leave a dangling pointer
- Proxy textures for cube maps didn't work
- fixed a number of 16-bit color channel bugs
- fixed a few minor memory leaks
- GLX context sharing was broken in 3.5
- fixed state-update bugs in glPopClientAttrib()
- fixed glDrawRangeElements() bug
- fixed a glPush/PopAttrib() bug related to texture binding
- flat-shaded, textured lines were broken
- fixed a dangling pointer problem in the XMesa code (Chris Burghart)
- lighting didn't always produce the correct alpha value
- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
 
 
4.0.1 December 17, 2001
New:
- better sub-pixel sample positions for AA triangles (Ray Tice)
- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
Bug fixes:
- added missing break statements in glGet*() for multisample cases
- fixed uninitialized hash table mutex bug (display lists / texobjs)
- fixed bad teximage error check conditional (bug 476846)
- fixed demos readtex.c compilation problem on Windows (Karl Schultz)
- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
- silence some compiler warnings (gcc 2.96)
- enable the #define GL_VERSION_1_3 in GL/gl.h
- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
- fixed glu.h typedef problem found with MSDev 6.0
- build libGL.so with -Bsymbolic (fixes bug found with Chromium)
- added missing 'const' to glXGetContextIDEXT() in glxext.h
- fixed a few glXGetProcAddress() errors (texture compression, etc)
- fixed start index bug in compiled vertex arrays (Keith)
- fixed compilation problems in src/SPARC/glapi_sparc.S
- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
- use glXGetProcAddressARB in GLUT to avoid extension linking problems
- provoking vertex of flat-shaded, color-index triangles was wrong
- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
- glTexParameter didn't flush the vertex buffer (Ray Tice)
- feedback attributes for glDraw/CopyPixels and glBitmap were wrong
- fixed bug in normal length caching (ParaView lighting bug)
- fixed separate_specular color bug found in Chimera (18 Dec 2001)
 
 
4.0.2 April 2, 2002
New:
- New DOS (DJGPP) driver written by Daniel Borca
- New driver interface functions for TCL drivers (such as Radeon DRI)
- GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
if using deep color channels
- latest GL/glext.h and GL/glxext.h headers from SGI
Bug fixes:
- GL_BLEND with non-black texture env color wasn't always correct
- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
- glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
- glReadPixels was sometimes mistakenly clipped by the scissor box
- glDraw/ReadPixels didn't catch all the errors that they should have
- Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
- 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
- Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
- glColorMask as sometimes effecting glXSwapBuffers()
- fixed a potential bug in XMesaGarbageCollect()
- N threads rendering into one window didn't work reliably
- glCopyPixels didn't work for deep color channels
- improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
- glPopAttrib() didn't correctly restore user clip planes
- user clip planes failed for some perspective projections (Chromium)
Known bugs:
- mipmap LOD computation
 
 
4.0.3 June 25, 2002
New:
- updated GL/glext.h file (version 15)
- corrected MMX blend code (Jose Fonseca)
- support for software-based alpha planes in Windows driver
- updated GGI driver (Filip Spacek)
Bug fixes:
- glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
- OSMesaMakeCurrent() didn't recognize buffer size changes
- assorted conformance fixes for 16-bit/channel rendering
- texcombine alpha subtraction mode was broken
- fixed lighting bug with non-uniform scaling and display lists
- fixed bug when deleting shared display lists
- disabled SPARC cliptest assembly code (Mesa bug 544665)
- fixed a couple Solaris compilation/link problems
- blending clipped glDrawPixels didn't always work
- glGetTexImage() didn't accept packed pixel types
- glPixelMapu[is]v() could explode given too large of pixelmap
- glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
- glXCopyContext() could lead to segfaults
- glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
Changes:
- lots of C++ (g++) code clean-ups
- lots of T&L updates for the Radeon DRI driver
Known bugs:
- mipmap LOD computation (fixed for Mesa 4.1)
 
 
4.0.4 October 3, 2002
New:
- GL_NV_texture_rectangle extension
- updated glext.h header (version 17)
- updated DOS driver (Daniel Borca)
- updated BeOS R5 driver (Philippe Houdoin)
- added GL_IBM_texture_mirror_repeat
- glxinfo now takes -l option to print interesting OpenGL limits info
- GL_MESA_ycbcr_texture extension
- GL_APPLE_client_storage extension (for some DRI drivers only)
- GL_MESA_pack_invert extension
Bug fixes:
- fixed GL_LINEAR fog bug by adding clamping
- fixed FP exceptions found using Alpha CPU
- 3dfx MESA_GLX_FX=window (render to window) didn't work
- fixed memory leak in wglCreateContest (Karl Schultz)
- define GLAPIENTRY and GLAPI if undefined in glu.h
- wglGetProcAddress didn't handle all API functions
- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
- error checking in compressed tex image functions had some glitches
- fixed AIX compile problem in src/config.c
- glGetTexImage was using pixel unpacking instead of packing params
- auto-mipmap generation for cube maps was incorrect
Changes:
- max texture units reduced to six to accomodate texture rectangles
- removed unfinished GL_MESA_sprite_point extension code
 
 
4.1 October 29, 2002
New:
- GL_NV_vertex_program extension
- GL_NV_vertex_program1_1 extension
- GL_ARB_window_pos extension
- GL_ARB_depth_texture extension
- GL_ARB_shadow extension
- GL_ARB_shadow_ambient extension
- GL_EXT_shadow_funcs extension
- GL_ARB_point_parameters extension
- GL_ARB_texture_env_crossbar
- GL_NV_point_sprite extension
- GL_NV_texture_rectangle extension
- GL_EXT_multi_draw_arrays extension
- GL_EXT_stencil_two_side extension
- GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
- GL_ATI_texture_mirror_once extension (Ian Romanick)
- massive overhaul/simplification of software rasterizer module,
many contributions from Klaus Niederkrueger
- faster software texturing in some cases (i.e. trilinear filtering)
- new OSMesaGetProcAddress() function
- more blend modes implemented with MMX code (Jose Fonseca)
- added glutGetProcAddress() to GLUT
- added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
- pbinfo and pbdemo PBuffer programs
- glxinfo -v prints transprent pixel info (Gerd Sussner)
Bug fixes:
- better mipmap LOD computation (prevents excessive blurriness)
- OSMesaMakeCurrent() didn't recognize buffer size changes
- assorted conformance fixes for 16-bit/channel rendering
- texcombine alpha subtraction mode was broken
- fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
- clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma)
- fixed divide by zero error in NURBS tessellator (Jon Perry)
- fixed GL_LINEAR fog bug by adding clamping
- fixed FP exceptions found using Alpha CPU
- 3dfx/glide driver render-to-window feature was broken
- added missing GLX_TRANSPARENT_RGB token to glx.h
- fixed error checking related to paletted textures
- fixed reference count error in glDeleteTextures (Randy Fayan)
Changes:
- New spec file and Python code to generate some GL dispatch files
- Glide driver defaults to "no" with autoconf/automake
- updated demos/stex3d with new options
 
 
5.0 November 13, 2002
New:
- OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
- removed some overlooked debugging code
- glxinfo updated to support GLX_ARB_multisample
- GLUT now support GLX_ARB_multisample
- updated DOS driver (Daniel Borca)
Bug fixes:
- GL_POINT and GL_LINE-mode polygons didn't obey cull state
- fixed potential bug in _mesa_align_malloc/calloc()
- fixed missing triangle bug when running vertex programs
- fixed a few HPUX compilation problems
- FX (Glide) driver didn't compile
- setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
- a few EXT functions, like glGenTexturesEXT, were no-ops
- a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
glMultiDrawArrays and glMultiDrawElements were missing
- glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
- Pentium 4 Mobile was mistakenly identified as having 3DNow!
- fixed one-bit error in point/line fragment Z calculation
- fixed potential segfault in fakeglx code
- fixed color overflow problem in DOT3 texture env mode
 
 
5.0.1 March 30, 2003
New:
- DOS driver updates from Daniel Borca
- updated GL/gl_mangle.h file (Bill Hoffman)
Bug fixes:
- auto mipmap generation for cube maps was broken (bug 641363)
- writing/clearing software alpha channels was unreliable
- minor compilation fixes for OS/2 (Evgeny Kotsuba)
- fixed some bad assertions found with shadowtex demo
- fixed error checking bug in glCopyTexSubImage2D (bug 659020)
- glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
- fixed potential segfault in texture object validation (bug 659012)
- fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
- fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
- fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
- glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
- fixed compilation problem on Solaris7/x86 (bug 536406)
- fixed prefetch bug in 3DNow! code (Felix Kuhling)
- fixed NeXT build problem (FABSF macro)
- glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
- zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
- AA line and triangle Z values are now rounded, not truncated
- fixed color interpolation bug when GLchan==GLfloat (bug 694461)
- glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
- fixed a minor GL_COLOR_MATERIAL bug
- NV vertex program EXP instruction was broken
- glColorMask misbehaved with X window / pixmap rendering
- fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
- attempt to fix GGI compilation problem when MesaDemos not present
- NV vertex program ARL-relative fetches didn't work
Changes:
- use glPolygonOffset in gloss demo to avoid z-fighting artifacts
- updated winpos and pointblast demos to use ARB extensions
- disable SPARC normal transformation code (bug 673938)
- GLU fixes for OS/2 (Evgeny Kotsuba)
 
 
5.0.2 September 5, 2003
Bug fixes:
- fixed texgen problem causing texcoord's Q to be zero (stex3d)
- default GL_TEXTURE_COMPARE_MODE_ARB was wrong
- GL_CURRENT_MATRIX_NV query was wrong
- GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
- GL_LIST_MODE query wasn't correct
- GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
- GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
- blended, wide lines didn't always work correctly (bug 711595)
- glVertexAttrib4svNV w component was always 1
- fixed bug in GL_IBM_rasterpos_clip (missing return)
- GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
- a few Solaris compilation fixes
- fixed glClear() problem for DRI drivers (non-existant stencil, etc)
- fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
- fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
- glFog() didn't clamp fog colors
- fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
gl[Get]TexParameteri[v] functions
- fixed invalid memory references in glTexGen functions (bug 781602)
- integer-valued color arrays weren't handled correctly
- glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
- GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
Changes:
- build GLUT with -fexceptions so C++ apps propogate exceptions
 
 
5.1 December 17, 2003
New:
- reorganized directory tree
- GL_ARB_vertex/fragment_program extensions (Michal Krol & Karl Rasche)
- GL_ATI_texture_env_combine3 extension (Ian Romanick)
- GL_SGI_texture_color_table extension (Eric Plante)
- GL_NV_fragment_program extension
- GL_NV_light_max_exponent extension
- GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
- GL_ARB_occlusion_query extension
- GL_ARB_point_sprite extension
- GL_ARB_texture_non_power_of_two extension
- GL_IBM_multimode_draw_arrays extension
- GL_EXT_texture_mirror_clamp extension (Ian Romanick)
- GL_ARB_vertex_buffer_object extension
- new X86 feature detection code (Petr Sebor)
- less memory used for display lists and vertex buffers
- demo of per-pixel lighting with a fragment program (demos/fplight.c)
- new version (18) of glext.h header
- new spriteblast.c demo of GL_ARB_point_sprite
- faster glDrawPixels in X11 driver in some cases (see RELNOTES-5.1)
- faster glCopyPixels in X11 driver in some cases (see RELNOTES-5.1)
Bug fixes:
- really enable OpenGL 1.4 features in DOS driver.
- fixed issues in glDrawPixels and glCopyPixels for very wide images
- glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
- fixed some texgen bugs reported by Daniel Borca
- fixed wglMakeCurrent(NULL, NULL) bug (#835861)
- fixed glTexSubImage3D z-offset bug (Cedric Gautier)
- fixed RGBA blend enable bug (Ville Syrjala)
- glAccum is supposed to be a no-op in selection/feedback mode
- fixed texgen bug #597589 (John Popplewell)
Changes:
- dropped API trace feature (src/Trace/)
- documentation overhaul. merged with website content. more html.
- glxgears.c demo updated to use GLX swap rate extensions
- glTexImage1/2/3D now allows width/height/depth = 0
- disable SPARC asm code on Linux (bug 852204)
 
 
6.0 January 16, 2004
New:
- full OpenGL 1.5 support
- updated GL/glext.h file to version 21
Changes:
- changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h)
Bug fixes:
- fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color
clamping issue
- updated suno5-gcc configs
- glColor3 functions sometimes resulted in undefined alpha values
- fixed FP divide by zero error seen on VMS with xlockmore, others
- fixed vertex/fragment program debug problem (bug 873011)
- building on AIX with gcc works now
- glDeleteProgramsARB failed for ARB fragment programs (bug 876160)
- glDrawRangeElements tried to modify potentially read-only storage
- updated files for building on Windows
 
 
6.0.1 April 2, 2004
New:
- upgraded glext.h to version 22
- new build targets (Dan Schikore)
- new linux-x86-opteron build target (Heath Feather)
Bug fixes:
- glBindProgramARB didn't update all necessary state
- fixed build problems on OpenBSD
- omit CVS directories from tarballs
- glGetTexImage(GL_COLOR_INDEX) was broken
- fixed an infinite loop in t&l module
- silenced some valgrind warnings about using unitialized memory
- fixed some compilation/link glitches on IRIX (Mike Stephens)
- glBindProgram wasn't getting compiled into display lists
- GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
- two-sided lighting and vertex program didn't work (bug 887330)
- stores to program parameter registers in vertex state programs
didn't work.
- fixed glOrtho bug found with gcc 3.2.2 (RH9)
- glXCreateWindow() wasn't fully implemented (bug 890894)
- generic vertex attribute arrays didn't work in display lists
- vertex buffer objects' default usage and access fields were wrong
- glDrawArrays with start!=0 was broken
- fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
- linux-osmesa16-static config didn't work
- fixed a few color index rendering problems (bug 910687)
- glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
- OSMesa RGB and BGR modes were broken
- glProgramStringARB mistakenly required a null-terminated string
- fragment program XPD instruction was incorrect
- glGetMaterial() didn't work reliably
- ARB_fragment_program KIL instruction was incorrect
 
 
6.1 August 18, 2004
New:
- Revamped Makefile system
- glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
- internal driver interface changes related to texture object
allocation, vertex/fragment programs, BlendEquationSeparate, etc.
- option to walk triangle edges with double-precision floats
(Justin Novosad of Discreet) (see config.h file)
- support for AUX buffers in software GLX driver
- updated glext.h to version 24 and glxext.h to version 6
- new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
- updated BeOS support (Philippe Houdoin)
Changes:
- fragment fog interpolation is perspective corrected now
- new glTexImage code, much cleaner, may be a bit faster
Bug fixes:
- glArrayElement in display lists didn't handle generic vertex attribs
- glFogCoord didn't always work properly
- ARB_fragment_program fog options didn't work
- frag prog TEX instruction no longer incorrectly divides s,t,r by q
- ARB frag prog TEX and TEXP instructions now use LOD=0
- glTexEnviv in display lists didn't work
- glRasterPos didn't do texgen or apply texture matrix
- GL_DOUBLE-valued vertex arrays were broken in some cases
- fixed texture rectangle edge/border sampling bugs
- sampling an incomplete texture in a fragment program would segfault
- glTexImage was missing a few error checks
- fixed some minor glGetTexParameter glitches
- GL_INTENSITY was mistakenly accepted as a <format> to glTexImage
- fragment program writes to RC/HC register were broken
- fixed a few glitches in GL_HP_occlusion_test extension
- glBeginQueryARB and glEndQueryARB didn't work inside display lists
- vertex program state references were broken
- fixed triangle color interpolation bug on AIX (Shane Blackett)
- fixed a number of minor memory leaks (bug #1002030)
 
 
6.2 October 2, 2004
New:
- enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
- updated Doxygen support (Jose Fonseca)
Changes:
- some GGI driver updates (Christoph Egger, bug 1025977)
Bug fixes:
- Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
- fixed a few compilation issues on IRIX
- fixed a matrix classification bug (reported by Wes Bethel)
- we weren't reseting the vertex/fragment program error state
before parsing (Dave Reveman)
- adjust texcoords for sampling texture rectangles (Dave Reveman)
- glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
- repeated calls to glDeleteTexture(t) could lead to a crash
- fixed potential ref count bugs in VBOs and vertex/fragment programs
- spriteblast demo didn't handle window size changes correctly
- glTexSubImage didn't handle pixels=NULL correctly for PBOs
- fixed color index mode glDrawPixels bug (Karl Schultz)
 
 
6.2.1 December 9, 2004
Bug fixes:
- don't apply regular fog or color sum when using a fragment program
- glProgramEnvParameter4fARB always generated an error on
GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
- glVertexAttrib3svNV and glVertexAttrib3svARB were broken
- fixed width/height mix-up in glSeparableFilter2D()
- fixed regression in glCopyPixels + convolution
- glReadPixels from a clipped front color buffer didn't always work
- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
- Attempting queries/accesses of VBO 0 weren't detected as errors
- paletted textures failed if the palette had fewer than 256 entries
Changes:
- fixed a bunch of compiler warnings found with gcc 3.4
- bug reports should to go bugzilla.freedesktop.org
 
 
6.3 July 20, 2005
New:
- GL_EXT_framebuffer_object extension
- GL_ARB_draw_buffers extension
- GL_ARB_pixel_buffer_object extension
- GL_OES_read_format extension (Ian Romanick)
- DirectFB driver (Claudio Ciccani)
- x86_64 vertex transformation code (Mikko T.)
- Updated GL/glext.h to version 29
Changes:
- added -stereo option for glxgears demo (Jacek Rosik)
- updated the PBuffer demo code in xdemos/ directory
- glDeleteTextures/Programs/Buffers() now makes the object ID
available for immediate re-use
- assorted 64-bit clean-ups fixes (x86_64 and Win64)
- lots of internal changes for GL_EXT_framebuffer_object
Bug fixes:
- some functions didn't support PBO functionality
- glGetTexImage didn't convert color index images to RGBA as required
- fragment program texcoords were sometimes wrong for points and lines
- fixed problem with negative dot product in arbfplight, fplight demos
- fixed bug in perspective correction of antialiased, textured lines
- querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
- fixed a couple per-pixel fog bugs (Soju Matsumoto)
- glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
- fixed float parsing bug in ARB frag/vert programs (bug 2520)
- XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
- GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
- glXChooseFBConfig() crashed if attribList pointer was NULL
- program state.light[n].spot.direction.w was wrong value (bug 3083)
- fragment program fog option required glEnable(GL_FOG) - wrong.
- glColorTable() could produce a Mesa implementation error (bug 3135)
- RasterPos could get corrupted by color index rendering path
- Removed bad XTranslateCoordinates call when rendering to Pixmaps
- glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
- fixed a few Darwin compilation problems
 
 
6.3.1
This was an intermediate release for X.org which wasn't otherwise released.
 
 
6.3.2 August 19, 2005
New:
- The distribution now includes the DRI drivers and GLX code
Changes:
- Made the DRI "new" driver interface standard, remove old code
Bug fixes:
- GL_ARB_vertex/fragment_shader were mistakenly listed in the
extensions string
- negative relative addressing in vertex programs was broken
- update/fix SPARC assembly code for vertex transformation
- fixed memory leak when freeing GLX drawables/renderbuffers
- fixed display list memory leak
- the GL_PIXEL_MAP_I_TO_I table is now floating point, not integer
- wglGetProcAddress() didn't handle wgl-functions
- fixed glxext.h cross-compile issue (Colin Harrison)
- assorted DRI driver fixes
 
 
6.4 October 24, 2005
New:
- Added a fast XOR line drawing function in Xlib driver
- Added support for GL_ARB_texture_mirrored_repeat to savage
driver (supported only on Savage4 hardware).
Changes:
- Mesa now packaged in three parts: Library, Demos and GLUT
Bug fixes:
- GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig
- Some files were present multiple times in the 6.3.2 tarballs
- r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207)
- glxgears_fbconfig demo didn't work (bug 4237)
- fixed bug when bilinear sampling 2d textures with borders
- glXCreatePbuffer() could segfault instead of returning 0 (bug 4235)
- fixed undefined frexp and rand in X.org libGLcore.a (bug 4242)
- fixed a few problems with proxy color tables (bug 4270)
- fixed precision problem in Z clearing (bug 4395)
- glBitmap, glDraw/CopyPixels mistakenly generated selection hits
- fixed potential segfault caused by reading pixels outside
of renderbuffer bounds
- glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB
- fixed memory corruption bug involving software alpha buffers
- glReadPixels clipped by window bounds was sometimes broken
- glDraw/CopyPixels of stencil data ignored the stencil write mask
- glReadPixels from a texture bound to a framebuffer object didn't work
- glIsRender/FramebufferEXT weren't totally correct
- fixed a number of point size attenuation/fade bugs
- fixed glFogCoord bug 4729
- GLX encoding for transpose matrix functions was broken
- fixed broken fragment program KIL and SWZ instructions
- fragment programs that wrote result.depth.z didn't work
 
 
6.4.1 November 30, 2005
Bug fixes:
- redefining a vertex program string didn't take effect in TNL module
- fixed occasional segfault upon vertex/fragment parsing error
- vertex program LIT instruction didn't handle 0^0=1 correctly
- fragment program fog option didn't work with glDrawPixels, glBitmap
- USE_MGL_NAMESPACE didn't work for x86-64
- OSMesa demos were missing from previous release tarballs
- fixed problem with float->ushort conversion in glClear (bug 4992)
- popping of GL_EYE_PLANE texgen state was broken (bug 4996)
- popping of GL_SPOT_DIRECTION light state was broken (bug 5005)
- fixed occasional triangle color interpolation problem on VMS
- work around invalid free() call (bug 5131)
- fixed BSD X server compilation problem by including stdint.h
 
 
6.4.2 February 2, 2006
New:
- added OSMesaColorClamp() function/feature
- added wglGetExtensionStringARB() function
Bug fixes:
- fixed some problems when building on Windows
- GLw header files weren't installed by installmesa script (bug 5396)
- GL/glfbdev.h file was missing from tarballs
- fixed TNL initialization bug which could lead to crash (bug 5791)
 
 
6.5 March 31, 2006
New:
- OpenGL Shading Language support through GL_ARB_shader_objects,
GL_ARB_shading_language_100, GL_ARB_vertex_shader and
GL_ARB_fragment_shader (done by Michal Krol)
- GL_EXT_packed_depth_stencil extension
- GL_EXT_timer_query extension
- GL_EXT_framebuffer_blit extension
- GL_ARB_half_float_pixel
- reflect demo improved to support multiple windows
- singlebuffer demo (shows no/little-flicker single-buffered rendering)
- r200: enable GL_ARB_texture_env_crossbar, separate the texture
sampling unit bits from the texture env combine enable bits
- r200: add support for GL_ATI_fragment_shader
- added fast XOR-mode line drawing optimization
- radeon: add support for all 3 tmus, GL_ARB_texture_cube_map
and GL_EXT_fog_coord
- MESA_GLX_ALPHA_BITS env var for xlib driver
- many DRI driver updates (including screen rotation support
for the Intel DRI driver)
Changes:
- removed GL_HP_occlusion_test (use GL_ARB_occlusion_query instead)
- removed GL_SGIX/SGIS_pixel_texture extensions
Bug fixes:
- fixed glxcontextmodes.c datatype problem (bug 5835)
- fixed aix-gcc build/install bugs (bug 5874)
- fixed some bugs in texture env program generation
- glXCopyContext() didn't handle texture object bindings properly
- glXCopyContext() didn't copy all lighting state
- fixed FreeBSD config (Pedro Giffuni)
- fixed some minor framebuffer object bugs
- replaced dprintf() with _glu_printf() in GLU (bug 6244)
- fixed a number of thread safety bugs/regressions
- fixed a number of GLU tesselator bugs (John Shell, bug 6339)
- paletted texturing was broken w/ floating point palettes (K. Schultz)
- lots of assorted framebuffer object bug fixes
 
6.5.1 August 31, 2006
New:
- Intel i965 DRI driver
- GL_APPLE_vertex_array_object extension (Ian Romanick)
- GL_EXT_texture_sRGB extension
- GL_EXT_gpu_program_parameters (Ian Romanick)
- "engine" demo
- updated fbdev driver and GLUT for fbdev (Sean D'Epagnier)
- many updates to the DRI drivers
Changes:
- The glVertexAttribARB functions no longer alias the conventional
vertex attributes.
- glxinfo program prints more info with -l option
- GL_FRAGMENT_PROGRAM_NV and GL_FRAGMENT_PROGRAM_ARB are now
compatible, in terms of glBindProgramARB()
Bug fixes:
- fixed broken texture border handling for depth textures (bug 6498)
- removed the test for duplicated framebuffer attachments, per
version 117 of the GL_EXT_framebuffer_object specification
- fixed a few render-to-texture bugs, including render to depth texture
- clipping of lines against user-defined clip planes was broken (6512)
- assembly language dispatch for SPARC was broken (bug 6484)
- assorted compilation fixes on various Unix platforms (Dan Schikore)
- glPopAttrib could restore an invalid value for GL_DRAW_BUFFER
- assorted minor fixes for 16 and 32 bit/channel modes
- fixed assorted bugs in texture compression paths
- fixed indirect rendering vertex array crashes (bug 6863)
- glDrawPixels GL_INDEX_OFFSET didn't always work
- fixed convolution memory leak (bug 7077)
- rectangular depth textures didn't work
- invalid mode to glBegin didn't generate an error (bug 7142)
- 'normalized' parameter to glVertexAttribPointerARB didn't work
- disable bogus GLX_SGI_video_sync extension in xlib driver
- fixed R128 driver locking bug (Martijn van Oosterhout)
- using evaluators with vertex programs caused crashes (bug 7564)
- fragment.position wasn't set correctly for point/line primitives
- fixed parser bug for scalar sources for GL_NV_fragment_program
- max fragment program length was incorrectly 128, now 1024
- writes to result.depth in fragment programs weren't clamped to [0,1]
- fixed potential dangling pointer bug in glBindProgram()
- fixed some memory leaks (and potential crashes) in Xlib driver
/contrib/sdk/sources/Mesa/docs/application-issues.html
0,0 → 1,83
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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="http://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 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.
</p>
 
<p>
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.
</p>
 
<p>
For example, if the game was released in 2001, do
<pre>
export MESA_EXTENSION_MAX_YEAR=2001
</pre>
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>
/contrib/sdk/sources/Mesa/docs/autoconf.html
0,0 → 1,250
<!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 Autoconf</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Compilation and Installation using Autoconf</h1>
 
<ol>
<li><p><a href="#basic">Basic Usage</a></li>
<li><p><a href="#driver">Driver Options</a>
<ul>
<li><a href="#xlib">Xlib Driver Options</a></li>
<li><a href="#dri">DRI Driver Options</a></li>
<li><a href="#osmesa">OSMesa Driver Options</a></li>
</ul>
</ol>
 
 
<h2 id="basic">1. Basic Usage</h2>
 
<p>
The autoconf generated configure script can be used to guess your
platform and change various options for building Mesa. To use the
configure script, type:
</p>
 
<pre>
./configure
</pre>
 
<p>
To see a short description of all the options, type <code>./configure
--help</code>. If you are using a development snapshot and the configure
script does not exist, type <code>./autogen.sh</code> to generate it
first. If you know the options you want to pass to
<code>configure</code>, you can pass them to <code>autogen.sh</code>. It
will run <code>configure</code> with these options after it is
generated. Once you have run <code>configure</code> and set the options
to your preference, type:
</p>
 
<pre>
make
</pre>
 
<p>
This will produce libGL.so and several other libraries depending on the
options you have chosen. Later, if you want to rebuild for a different
configuration run <code>make realclean</code> before rebuilding.
</p>
 
<p>
Some of the generic autoconf options are used with Mesa:
</p>
<dl>
<dt><code>--prefix=PREFIX</code></dt>
<dd><p>This is the root directory where
files will be installed by <code>make install</code>. The default is
<code>/usr/local</code>.</p>
</dd>
 
<dt><code>--exec-prefix=EPREFIX</code></dt>
<dd><p>This is the root directory
where architecture-dependent files will be installed. In Mesa, this is
only used to derive the directory for the libraries. The default is
<code>${prefix}</code>.</p>
</dd>
 
<dt><code>--libdir=LIBDIR</code></dt>
<dd><p>This option specifies the directory
where the GL libraries will be installed. The default is
<code>${exec_prefix}/lib</code>. It also serves as the name of the
library staging area in the source tree. For instance, if the option
<code>--libdir=/usr/local/lib64</code> is used, the libraries will be
created in a <code>lib64</code> directory at the top of the Mesa source
tree.</p>
</dd>
 
<dt><code>--enable-static, --disable-shared</code></dt>
<dd><p>By default, Mesa
will build shared libraries. Either of these options will force static
libraries to be built. It is not currently possible to build static and
shared libraries in a single pass.</p>
</dd>
 
<dt><code>CC, CFLAGS, CXX, CXXFLAGS</code></dt>
<dd><p>These environment variables
control the C and C++ compilers used during the build. By default,
<code>gcc</code> and <code>g++</code> are used with the options
<code>"-g -O2"</code>.</p>
</dd>
 
<dt><code>LDFLAGS</code></dt>
<dd><p>An environment variable specifying flags to
pass when linking programs. These are normally empty, but can be used
to direct the linker to use libraries in nonstandard directories. For
example, <code>LDFLAGS="-L/usr/X11R6/lib"</code>.</p>
</dd>
 
<dt><code>PKG_CONFIG_PATH</code></dt>
<dd><p>When available, the
<code>pkg-config</code> utility 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>
</dd>
</dl>
 
<p>
There are also a few general options for altering the Mesa build:
</p>
<dl>
<dt><code>--with-x</code></dt>
<dd><p>When the X11 development libraries are
needed, the <code>pkg-config</code> utility <a href="#pkg-config">will
be used</a> for locating them. If they cannot be found through
<code>pkg-config</code> a fallback routing using <code>imake</code> will
be used. In this case, the <code>--with-x</code>,
<code>--x-includes</code> and <code>--x-libraries</code> options can
control the use of X for Mesa.</p>
</dd>
 
<dt><code>--enable-gl-osmesa</code></dt>
<dd><p>The <a href="osmesa.html">OSMesa
library</a> can be built on top of libGL for drivers that provide it.
This option controls whether to build libOSMesa. By default, this is
enabled for the Xlib driver and disabled otherwise. Note that this
option is different than using OSMesa as the driver.</p>
</dd>
 
<dt><code>--enable-debug</code></dt>
<dd><p>This option will enable compiler
options and macros to aid in debugging the Mesa libraries.</p>
</dd>
 
<dt><code>--disable-asm</code></dt>
<dd><p>There are assembly routines
available for a few architectures. These will be used by default if
one of these architectures is detected. This option ensures that
assembly will not be used.</p>
</dd>
 
<dt><code>--enable-32-bit</code></dt>
<dt><code>--enable-64-bit</code></dt>
<dd><p>By default, the
build will compile code as directed by the environment variables
<code>CC</code>, <code>CFLAGS</code>, etc. If the compiler is
<code>gcc</code>, these options offer a helper to add the compiler flags
to force 32- or 64-bit code generation as used on the x86 and x86_64
architectures.</p>
</dd>
</dl>
 
 
<h2 id="driver">2. Driver Options</h2>
 
<p>
There are several different driver modes that Mesa can use. These are
described in more detail in the <a href="install.html">basic
installation instructions</a>. The Mesa driver is controlled through the
configure option --with-driver. There are currently three supported
options in the configure script.
</p>
 
<h3 id="xlib">Xlib</h3><p>This is the default mode for building Mesa.
It uses Xlib as a software renderer to do all rendering. It corresponds
to the option <code>--with-driver=xlib</code>. The libX11 and libXext
libraries, as well as the X11 development headers, will be need to
support the Xlib driver.
 
<h3 id="dri">DRI</h3><p>This mode uses the DRI hardware drivers for
accelerated OpenGL rendering. Enable the DRI drivers with the option
<code>--with-driver=dri</code>. See the <a href="install.html">basic
installation instructions</a> for details on prerequisites for the DRI
drivers.
 
<!-- DRI specific options -->
<dl>
<dt><code>--with-dri-driverdir=DIR</code>
<dd><p> This option specifies the
location the DRI drivers will be installed to and the location libGL
will search for DRI drivers. The default is <code>${libdir}/dri</code>.
<dt><code>--with-dri-drivers=DRIVER,DRIVER,...</code>
<dd><p> This option
allows a specific set of DRI drivers to be built. For example,
<code>--with-dri-drivers="swrast,i965,radeon,nouveau"</code>. By
default, the drivers will be chosen depending on the target platform.
See the directory <code>src/mesa/drivers/dri</code> in the source tree
for available drivers. Beware that the swrast DRI driver is used by both
libGL and the X.Org xserver GLX module to do software rendering, so you
may run into problems if it is not available.
<!-- This explanation might be totally bogus. Kristian? -->
<dt><code>--disable-driglx-direct</code>
<dd><p> Disable direct rendering in
GLX. Normally, direct hardware rendering through the DRI drivers and
indirect software rendering are enabled in GLX. This option disables
direct rendering entirely. It can be useful on architectures where
kernel DRM modules are not available.
<dt><code>--enable-glx-tls</code> <dd><p>
Enable Thread Local Storage (TLS) in
GLX.
<dt><code>--with-expat=DIR</code> <dd> The DRI-enabled libGL uses expat to
parse the DRI configuration files in <code>/etc/drirc</code> and
<code>~/.drirc</code>. This option allows a specific expat installation
to be used. For example, <code>--with-expat=/usr/local</code> will
search for expat headers and libraries in <code>/usr/local/include</code>
and <code>/usr/local/lib</code>, respectively.
</dl>
 
<h3 id="osmesa">OSMesa </h3><p> No libGL is built in this
mode. Instead, the driver code is built into the Off-Screen Mesa
(OSMesa) library. See the <a href="osmesa.html">Off-Screen Rendering</a>
page for more details.
 
<!-- OSMesa specific options -->
<dl>
<dt><code>--with-osmesa-bits=BITS</code>
<dd><p> This option allows the size
of the color channel in bits to be specified. By default, an 8-bit
channel will be used, and the driver will be named libOSMesa. Other
options are 16- and 32-bit color channels, which will add the bit size
to the library name. For example, <code>--with-osmesa-bits=16</code>
will create the libOSMesa16 library with a 16-bit color channel.
</dl>
 
 
<h2 id="library">3. Library Options</h2>
 
<p>
The configure script provides more fine grained control over the GL
libraries that will be built. More details on the specific GL libraries
can be found in the <a href="install.html">basic installation
instructions</a>.
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/bugs.html
0,0 → 1,61
<!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 Bug Reporting</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Bug Database</h1>
 
<p>
The Mesa bug database is hosted on
<a href="http://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://bugs.freedesktop.org/enter_bug.cgi?product=Mesa">
Bugzilla 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>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 a simple GLUT-based test program if possible
</ul>
 
<p>
Bug reports will automatically be forwarded by bugzilla to the Mesa
developer's mailing list.
</p>
 
<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>
/contrib/sdk/sources/Mesa/docs/conform.html
0,0 → 1,703
<!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</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Conformance</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 publically 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>
/contrib/sdk/sources/Mesa/docs/contents.html
0,0 → 1,105
<!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;
}
a:link {
color: #000;
}
a:visited {
color: #000;
}
-->
</style>
</head>
<body>
 
<b>Documentation</b>
<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 &amp; Copyright</a>
<li><a href="faq.html" target="_parent">FAQ</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>
<li>more docs below...
</ul>
 
<b>Download / Install</b>
<ul>
<li><a href="download.html" target="_parent">Downloading / Unpacking</a>
<li><a href="install.html" target="_parent">Compiling / Installing</a>
<ul>
<li><a href="autoconf.html" target="_parent">Autoconf</a></li>
</ul>
</li>
<li><a href="precompiled.html" target="_parent">Precompiled Libraries</a>
</ul>
 
<b>Resources</b>
<ul>
<li><a href="lists.html" target="_parent">Mailing Lists</a>
<li><a href="bugs.html" target="_parent">Bug Database</a>
<li><a href="webmaster.html" target="_parent">Webmaster</a>
<li><a href="http://dri.freedesktop.org/" target="_parent">Mesa/DRI Wiki</a>
</ul>
 
<b>User Topics</b>
<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="openvg.html" target="_parent">OpenVG / Vega</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="mangling.html" target="_parent">Function Name Mangling</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>
 
<b>Developer Topics</b>
<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="sourcedocs.html" target="_parent">Source Documentation</a>
<li><a href="dispatch.html" target="_parent">GL Dispatch</a>
</ul>
 
<b>Links</b>
<ul>
<li><a href="http://www.opengl.org" target="_parent">OpenGL website</a>
<li><a href="http://dri.freedesktop.org" target="_parent">DRI website</a>
<li><a href="http://www.freedesktop.org" target="_parent">freedesktop.org</a>
</ul>
 
<b>Hosted by:</b>
<br>
<blockquote>
<a href="http://sourceforge.net"
target="_parent"><img src="http://sourceforge.net/sflogo.php?group_id=3&amp;type=1"
width="88" height="31" align="bottom" alt="Sourceforge.net" border="0"></a>
</blockquote>
 
</body>
</html>
/contrib/sdk/sources/Mesa/docs/debugging.html
0,0 → 1,47
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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, MESA_DEBUG, to help with debugging. If
MESA_DEBUG is defined, a message will be printed to stdout whenever
an error occurs.
</p>
 
<p>
More extensive error checking is done when Mesa is compiled with the
DEBUG symbol defined. You'll have to edit the Make-config file and
add -DDEBUG to the CFLAGS line for your system configuration. You may
also want to replace any optimization flags with the -g flag so you can
use your debugger. After you've edited Make-config type 'make clean'
before recompiling.
</p>
<p>
In your debugger you can set a breakpoint in _mesa_error() to trap Mesa
errors.
</p>
<p>
There is a display list printing/debugging facility. See the end of
src/dlist.c for details.
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/developers.html
0,0 → 1,58
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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="http://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="http://www.intellinuxgraphics.org/index.html">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="http://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>
/contrib/sdk/sources/Mesa/docs/devinfo.html
0,0 → 1,280
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Development Notes</h1>
 
 
<h2>Adding Extentions</h2>
 
<p>
To add a new GL extension to Mesa you have to do at least the following.
 
<ul>
<li>
If glext.h doesn't define the extension, edit include/GL/gl.h 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 src/mesa/glapi/ 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.
</li>
<li>
Add a new entry to the <code>gl_extensions</code> struct in mtypes.h
</li>
<li>
Update the <code>extensions.c</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 get.c, enable.c
and attrib.c will most likely require new code.
</li>
</ul>
 
 
 
<h2>Coding Style</h2>
 
<p>
Mesa's code style has changed over the years. Here's the latest.
</p>
 
<p>
Comment your code! It's extremely important that open-source code be
well documented. Also, strive to write clean, easily understandable code.
</p>
 
<p>
3-space indentation
</p>
 
<p>
If you use tabs, set them to 8 columns
</p>
 
<p>
Line width: the preferred width to fill comments and code in Mesa is 78
columns. Exceptions are sometimes made for clarity (e.g. tabular data is
sometimes filled to a much larger width so that extraneous carriage returns
don't obscure the table).
</p>
 
<p>
Brace example:
</p>
<pre>
if (condition) {
foo;
}
else {
bar;
}
 
switch (condition) {
case 0:
foo();
break;
 
case 1: {
...
break;
}
 
default:
...
break;
}
</pre>
 
<p>
Here's the GNU indent command which will best approximate my preferred style:
(Note that it won't format switch statements in the preferred way)
</p>
<pre>
indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
</pre>
 
 
<p>
Local variable name example: localVarName (no underscores)
</p>
 
<p>
Constants and macros are ALL_UPPERCASE, with _ between words
</p>
 
<p>
Global variables are not allowed.
</p>
 
<p>
Function name examples:
</p>
<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>
 
<p>
Places that are not directly visible to the GL API should prefer the use
of <tt>bool</tt>, <tt>true</tt>, and
<tt>false</tt> over <tt>GLboolean</tt>, <tt>GL_TRUE</tt>, and
<tt>GL_FALSE</tt>. In C code, this may mean that
<tt>#include &lt;stdbool.h&gt;</tt> needs to be added. The
<tt>try_emit_</tt>* methods in src/mesa/program/ir_to_mesa.cpp and
src/mesa/state_tracker/st_glsl_to_tgsi.cpp can serve as examples.
</p>
 
 
<h2>Marking a commit as a candidate for a stable branch</h2>
 
<p>
If you want a commit to be applied to a stable branch,
you should add an appropriate note to the commit message.
</p>
 
<p>
Here are some examples of such a note:
</p>
<ul>
<li>NOTE: This is a candidate for the 9.0 branch.</li>
<li>NOTE: This is a candidate for the 8.0 and 9.0 branches.</li>
<li>NOTE: This is a candidate for the stable branches.</li>
</ul>
 
 
<h2>Cherry-picking candidates for a stable branch</h2>
 
<p>
Please use <code>git cherry-pick -x &lt;commit&gt;</code> for cherry-picking a commit
from master to a stable branch.
</p>
 
<h2>Making a New Mesa Release</h2>
 
<p>
These are the instructions for making a new Mesa release.
</p>
 
<h3>Get latest source files</h3>
<p>
Use git to get the latest Mesa files from the git repository, from whatever
branch is relevant.
</p>
 
 
<h3>Verify and update version info</h3>
 
<dl>
<dt>SConstruct</dt>
<dt>Android.common.mk</dt>
<dd>PACKAGE_VERSION</dd>
<dt>configure.ac</dt>
<dd>AC_INIT</dd>
</dl>
 
<p>
Create a docs/relnotes/x.y.z.html file.
The bin/bugzilla_mesa.sh and bin/shortlog_mesa.sh scripts can be used to
create the HTML-formatted lists of bugfixes and changes to include in the file.
Link the new docs/relnotes/x.y.z.html file into the main <a href="relnotes.html">relnotes.html</a> file.
</p>
 
<p>
Update <a href="index.html">docs/index.html</a>.
</p>
 
<p>
Tag the files with the release name (in the form <b>mesa-x.y</b>)
with: <code>git tag -s mesa-x.y -m "Mesa x.y Release"</code>
Then: <code>git push origin mesa-x.y</code>
</p>
 
 
<h3>Make the tarballs</h3>
<p>
Make the distribution files. From inside the Mesa directory:
<pre>
./autogen.sh
make tarballs
</pre>
 
<p>
After the tarballs are created, the md5 checksums for the files will
be computed.
Add them to the docs/relnotes/x.y.html file.
</p>
 
<p>
Copy the distribution files to a temporary directory, unpack them,
compile everything, and run some demos to be sure everything works.
</p>
 
<h3>Update the website and announce the release</h3>
<p>
Make a new directory for the release on annarchy.freedesktop.org with:
<br>
<code>
mkdir /srv/ftp.freedesktop.org/pub/mesa/x.y
</code>
</p>
 
<p>
Basically, to upload the tarball files with:
<br>
<code>
rsync -avP -e ssh MesaLib-x.y.* USERNAME@annarchy.freedesktop.org:/srv/ftp.freedesktop.org/pub/mesa/x.y/
</code>
</p>
 
<p>
Update the web site by copying the docs/ directory's files to
/home/users/b/br/brianp/mesa-www/htdocs/ with:
<br>
<code>
sftp USERNAME,mesa3d@web.sourceforge.net
</code>
</p>
 
<p>
Make an announcement on the mailing lists:
 
<em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>d</em><em>e</em><em>v</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>,
<em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>u</em><em>s</em><em>e</em><em>r</em><em>s</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>
and
<em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>a</em><em>n</em><em>n</em><em>o</em><em>u</em><em>n</em><em>c</em><em>e</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/dispatch.html
0,0 → 1,279
<!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 in Mesa</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>GL Dispatch in Mesa</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 ever 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
<tt>glXMakeContextCurrent</tt>.</p>
 
<p>In environments that implement OpenGL with X-Windows using GLX, every GL
function, including the pointers returned by <tt>glXGetProcAddress</tt>, are
<em>context independent</em>. This means that no matter what context is
currently active, the same <tt>glVertex3fv</tt> 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 <tt>glVertex3fv</tt> 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, <tt>glFogCoordf</tt> 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
differnt GL context current. This means that poor old <tt>glVertex3fv</tt>
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 <tt>glVertex3fv</tt> becomes
conceptually simple:</p>
 
<ul>
<li>Fetch the current dispatch table pointer.</li>
<li>Fetch the pointer to the real <tt>glVertex3fv</tt> 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
<tt>src/mesa/glapi/glapitemp.h</tt> contains code very similar to this.</p>
 
<blockquote>
<table border="1">
<tr><td><pre>
void glVertex3f(GLfloat x, GLfloat y, GLfloat z)
{
const struct _glapi_table * const dispatch = GET_DISPATCH();
 
(*dispatch-&gt;Vertex3f)(x, y, z);
}</pre></td></tr>
<tr><td>Sample dispatch function</td></tr></table>
</blockquote>
 
<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
<tt>GET_DISPATCH</tt> involves a call to <tt>pthread_getspecific</tt> or a
similar function. Mesa provides a wrapper function called
<tt>_glapi_get_dispatch</tt> 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
<tt>pthread_getspecific</tt> 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 <tt>_glapi_Dispatch</tt>.
The pointer is also stored in a per-thread location via
<tt>pthread_setspecific</tt>. When Mesa detects that an application has
become multithreaded, <tt>NULL</tt> is stored in <tt>_glapi_Dispatch</tt>.</p>
 
<p>Using this simple mechanism the dispatch functions can detect the
multithreaded case by comparing <tt>_glapi_Dispatch</tt> to <tt>NULL</tt>.
The resulting implementation of <tt>GET_DISPATCH</tt> is slightly more
complex, but it avoids the expensive <tt>pthread_getspecific</tt> call in
the common case.</p>
 
<blockquote>
<table border="1">
<tr><td><pre>
#define GET_DISPATCH() \
(_glapi_Dispatch != NULL) \
? _glapi_Dispatch : pthread_getspecific(&_glapi_Dispatch_key)
</pre></td></tr>
<tr><td>Improved <tt>GET_DISPATCH</tt> Implementation</td></tr></table>
</blockquote>
 
<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 <tt>pthread_getspecific</tt> and the test of
<tt>_glapi_Dispatch</tt> can be avoided.</p>
 
<p>The dispatch table pointer is stored in a new variable called
<tt>_glapi_tls_Dispatch</tt>. 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, <tt>GET_DISPACH</tt> becomes a simple variable
reference.</p>
 
<blockquote>
<table border="1">
<tr><td><pre>
extern __thread struct _glapi_table *_glapi_tls_Dispatch
__attribute__((tls_model("initial-exec")));
 
#define GET_DISPATCH() _glapi_tls_Dispatch
</pre></td></tr>
<tr><td>TLS <tt>GET_DISPATCH</tt> Implementation</td></tr></table>
</blockquote>
 
<p>Use of this path is controlled by the preprocessor define
<tt>GLX_USE_TLS</tt>. Any platform capable of using 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 <tt>_glapi_Dispatch</tt> directly in builds for non-multithreaded
environments.</li>
<li>Using <tt>_glapi_Dispatch</tt> and <tt>_glapi_get_dispatch</tt> in
multithreaded environments.</li>
<li>Using <tt>_glapi_Dispatch</tt> and <tt>pthread_getspecific</tt> in
multithreaded environments.</li>
<li>Using <tt>_glapi_tls_Dispatch</tt> 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 <tt>GLX_USE_TLS</tt> is defined, method #4 is used.</li>
<li>If <tt>HAVE_PTHREAD</tt> is defined, method #3 is used.</li>
<li>If <tt>WIN32_THREADS</tt> is defined, method #2 is used.</li>
<li>If none of the preceeding 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 <tt>GL_STUB</tt> is used. In the preamble
of the assembly source file different implementations of the macro are
selected based on the defined preprocessor variables. The assmebly code
then consists of a series of invocations of the macros such as:
 
<blockquote>
<table border="1">
<tr><td><pre>
GL_STUB(Color3fv, _gloffset_Color3fv)
</pre></td></tr>
<tr><td>SPARC Assembly Implementation of <tt>glColor3fv</tt></td></tr></table>
</blockquote>
 
<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 <tt>pthread_getspecific</tt>. Since x86-64 passes parameters in
registers, varying amounts of code needs to be inserted around the call to
<tt>pthread_getspecific</tt> 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 <tt>#ifdef</tt> within the assembly
implementation of each function. This makes the assembly file considerably
larger (e.g., 29,332 lines for <tt>glapi_x86-64.S</tt> versus 1,155 lines for
<tt>glapi_x86.S</tt>) and causes simple changes to the function
implementation to generate many lines of diffs. Since the assmebly 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
<tt>src/mesa/sources</tt>. That gets the file built and linked. The second
step is to add the correct <tt>#ifdef</tt> magic to
<tt>src/mesa/glapi/glapi_dispatch.c</tt> 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 <tt>glXGetProcAddress</tt>, Mesa stores a table that
associates function names with pointers to those functions. This table is
stored in <tt>src/mesa/glapi/glprocs.h</tt>. 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 <tt>#ifdef</tt> magic to
<tt>src/mesa/glapi/glapi.c</tt> just before <tt>glprocs.h</tt> is
included.</p>
 
<h2 id="autogen">4. Automatic Generation of Dispatch Stubs</h2>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/download.html
0,0 → 1,117
<!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>Getting Mesa</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Downloading</h1>
 
<p>
Primary Mesa download site:
<a href="ftp://ftp.freedesktop.org/pub/mesa/">freedesktop.org</a> (FTP)
</p>
 
<p>
When a new release is coming, release candidates (betas) may be found
<a href="ftp://ftp.freedesktop.org/pub/mesa/beta/">here</a>.
</p>
 
 
<h1>Unpacking</h1>
 
<p>
Mesa releases are available in three formats: .tar.bz2, .tar.gz, and .zip
</p>
 
<p>
To unpack .tar.gz files:
</p>
<pre>
tar zxf MesaLib-x.y.z.tar.gz
</pre>
or
<pre>
gzcat MesaLib-x.y.z.tar.gz | tar xf -
</pre>
or
<pre>
gunzip MesaLib-x.y.z.tar.gz ; tar xf MesaLib-x.y.z.tar
</pre>
<p>
To unpack .tar.bz2 files:
</p>
<pre>
bunzip2 -c MesaLib-x.y.z.tar.gz | tar xf -
</pre>
<p>
To unpack .zip files:
</p>
<pre>
unzip MesaLib-x.y.z.zip
</pre>
 
 
<h1>Contents</h1>
 
<p>
After unpacking you'll have these files and directories (among others):
</p>
<pre>
Makefile - top-level Makefile for most systems
configs/ - makefile parameter files for various systems
include/ - GL header (include) files
bin/ - shell scripts for making shared libraries, etc
docs/ - documentation
src/ - source code for libraries
src/mesa - sources for the main Mesa library and device drivers
src/gallium - sources for Gallium and Gallium drivers
src/glx - sources for building libGL with full GLX and DRI support
</pre>
 
 
<p>
Proceed to the <a href="install.html">compilation and installation
instructions</a>.
</p>
 
 
<h1>Demos, GLUT, and GLU</h1>
 
<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="http://cgit.freedesktop.org/mesa/glut/">GLUT</a>,
<a href="http://cgit.freedesktop.org/mesa/glu/">GLU</a> and
<a href="http://cgit.freedesktop.org/mesa/demos/">Demos</a>,
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/egl.html
0,0 → 1,345
<!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 EGL</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Mesa EGL</h1>
 
<p>The current version of EGL in Mesa implements EGL 1.4. More information
about EGL can be found at
<a href="http://www.khronos.org/egl/">
http://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>Run <code>configure</code> with the desired client APIs and enable
the driver for your hardware. For example</p>
 
<pre>
$ ./configure --enable-gles1 --enable-gles2 \
--with-dri-drivers=... \
--with-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 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>--enable-egl</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>--with-egl-driver-dir</code></dt>
<dd>
 
<p>The directory EGL drivers should be installed to. If not specified, EGL
drivers will be installed to <code>${libdir}/egl</code>.</p>
 
</dd>
 
<dt><code>--enable-gallium-egl</code></dt>
<dd>
 
<p>Enable the optional <code>egl_gallium</code> driver.</p>
 
</dd>
 
<dt><code>--with-egl-platforms</code></dt>
<dd>
 
<p>List the platforms (window systems) to support. Its argument is a comma
seprated string such as <code>--with-egl-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: the platform the EGL native
types such as <code>EGLNativeDisplayType</code> or
<code>EGLNativeWindowType</code> defined for.</p>
 
<p>The available platforms are <code>x11</code>, <code>drm</code>,
<code>fbdev</code>, and <code>gdi</code>. The <code>gdi</code> platform can
only be built with SCons. Unless for special needs, the build system should
select the right platforms automatically.</p>
 
</dd>
 
<dt><code>--enable-gles1</code></dt>
<dt><code>--enable-gles2</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>--enable-shared-glapi</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>
 
<dt><code>--enable-openvg</code></dt>
<dd>
 
<p>OpenVG must be explicitly enabled by this option.</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_DRIVERS_PATH</code></dt>
<dd>
 
<p>By default, the main library will look for drivers in the directory where
the drivers are installed to. This variable specifies a list of
colon-separated directories where the main library will look for drivers, in
addition to the default directory. This variable is ignored for setuid/setgid
binaries.</p>
 
<p>This variable is usually set to test an uninstalled build. For example, one
may set</p>
 
<pre>
$ export LD_LIBRARY_PATH=$mesa/lib
$ export EGL_DRIVERS_PATH=$mesa/lib/egl
</pre>
 
<p>to test a build without installation</p>
 
</dd>
 
<dt><code>EGL_DRIVER</code></dt>
<dd>
 
<p>This variable specifies a full path to or the name of an EGL driver. It
forces the specified EGL driver to be loaded. It comes in handy when one wants
to test a specific driver. This variable is ignored for setuid/setgid
binaries.</p>
 
</dd>
 
<dt><code>EGL_PLATFORM</code></dt>
<dd>
 
<p>This variable specifies the native platform. The valid values are the same
as those for <code>--with-egl-platforms</code>. When the variable is not set,
the main library uses the first platform listed in
<code>--with-egl-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>
 
<dt><code>EGL_SOFTWARE</code></dt>
<dd>
 
<p>For drivers that support both hardware and software rendering, setting this
variable to true forces the use of software rendering.</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>
 
<dt><code>egl_gallium</code></dt>
<dd>
 
<p>This driver is based on Gallium3D. It supports all rendering APIs and
hardwares supported by Gallium3D. It is the only driver that supports OpenVG.
The supported platforms are X11, DRM, FBDEV, and GDI.</p>
 
<p>This driver comes with its own hardware drivers
(<code>pipe_&lt;hw&gt;</code>) and client API modules
(<code>st_&lt;api&gt;</code>).</p>
 
</dd>
 
<dt><code>egl_glx</code></dt>
<dd>
 
<p>This driver provides a wrapper to GLX. It uses exclusively GLX to implement
the EGL API. It supports both direct and indirect rendering when the GLX does.
It is accelerated when the GLX is. As such, it cannot provide functions that
is not available in GLX or GLX extensions.</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. Of the EGL drivers,
<code>egl_gallium</code> has its own hardware drivers and client API modules.
They are considered internal to <code>egl_gallium</code> and there is also no
stable ABI between them. These should be kept in mind when packaging for
distribution.</p>
 
<p>Generally, <code>egl_dri2</code> is preferred over <code>egl_gallium</code>
when the system already has DRI drivers. As <code>egl_gallium</code> is loaded
before <code>egl_dri2</code> when both are available, <code>egl_gallium</code>
is disabled by default.</p>
 
<h2>Developers</h2>
 
<p>The sources of the main library and the classic drivers can be found at
<code>src/egl/</code>. The sources of the <code>egl</code> state tracker can
be found at <code>src/gallium/state_trackers/egl/</code>.</p>
 
<p>The suggested way to learn to write a EGL driver is to see how other drivers
are written. <code>egl_glx</code> should be a good reference. It works in any
environment that has GLX support, and it is simpler than most drivers.</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
throught <code>eglReleaseThread</code>, all current display resources should be
released. Another way to destory 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&lt;Resource&gt;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&lt;Resource&gt;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>
/contrib/sdk/sources/Mesa/docs/envvars.html
0,0 → 1,210
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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>
 
<ul>
<li>LIBGL_DEBUG - If defined debug information will be printed to stderr.
If set to 'verbose' additional information will be printed.
<li>LIBGL_DRIVERS_PATH - colon-separated list of paths to search for DRI drivers
<li>LIBGL_ALWAYS_INDIRECT - forces an indirect rendering context/connection.
<li>LIBGL_ALWAYS_SOFTWARE - if set, always use software rendering
<li>LIBGL_NO_DRAWARRAYS - if set do not use DrawArrays GLX protocol (for debugging)
<li>LIBGL_SHOW_FPS - print framerate to stdout based on the number of glXSwapBuffers
calls per second.
</ul>
 
 
 
<h2>Core Mesa environment variables</h2>
 
<ul>
<li>MESA_NO_ASM - if set, disables all assembly language optimizations
<li>MESA_NO_MMX - if set, disables Intel MMX optimizations
<li>MESA_NO_3DNOW - if set, disables AMD 3DNow! optimizations
<li>MESA_NO_SSE - if set, disables Intel SSE optimizations
<li>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 occured, and possibly why, will be
printed to stderr.<br>
If the value of MESA_DEBUG is 'FP' floating point arithmetic errors will
generate exceptions.
<li>MESA_LOG_FILE - specifies a file name for logging all errors, warnings,
etc., rather than stderr
<li>MESA_TEX_PROG - if set, implement conventional texture env modes with
fragment programs (intended for developers only)
<li>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.
<li>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.
<li>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.
<li>MESA_GL_VERSION_OVERRIDE - changes the value returned by
glGetString(GL_VERSION) and possibly the GL API type.
<ul>
<li> The format should be MAJOR.MINOR[FC]
<li> FC is an optional suffix that indicates a forward compatible context.
This is only valid for versions &gt;= 3.0.
<li> GL versions &lt; 3.0 are set to a compatibility (non-Core) profile
<li> GL versions = 3.0, see below
<li> GL versions &gt; 3.0 are set to a Core profile
<li> Examples: 2.1, 3.0, 3.0FC, 3.1, 3.1FC
<ul>
<li> 2.1 - select a compatibility (non-Core) profile with GL version 2.1
<li> 3.0 - select a compatibility (non-Core) profile with GL version 3.0
<li> 3.0FC - select a Core+Forward Compatible profile with GL version 3.0
<li> 3.1 - select a Core profile with GL version 3.1
<li> 3.1FC - select a Core+Forward Compatible profile with GL version 3.1
</ul>
<li> Mesa may not really implement all the features of the given version.
(for developers only)
</ul>
<li>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)
<li>MESA_GLSL - <a href="shading.html#envvars">shading language compiler options</a>
</ul>
 
 
<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>
<ul>
<li>MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode
<li>MESA_CI_VISUAL - specifies the X visual and depth for CI mode
<li>MESA_BACK_BUFFER - specifies how to implement the back color buffer,
either "pixmap" or "ximage"
<li>MESA_GAMMA - gamma correction coefficients for red, green, blue channels
<li>MESA_XSYNC - enable synchronous X behavior (for debugging only)
<li>MESA_GLX_FORCE_CI - if set, force GLX to treat 8bpp visuals as CI visuals
<li>MESA_GLX_FORCE_ALPHA - if set, forces RGB windows to have an alpha channel.
<li>MESA_GLX_DEPTH_BITS - specifies default number of bits for depth buffer.
<li>MESA_GLX_ALPHA_BITS - specifies default number of bits for alpha channel.
</ul>
 
 
<h2>i945/i965 driver environment variables (non-Gallium)</h2>
 
<ul>
<li>INTEL_STRICT_CONFORMANCE - if set to 1, enable sw fallbacks to improve
OpenGL conformance. If set to 2, always use software rendering.
<li>INTEL_NO_BLIT - if set, disable hardware-accelerated glBitmap,
glCopyPixels, glDrawPixels.
</ul>
 
 
<h2>Radeon driver environment variables (radeon, r200, and r300g)</h2>
 
<ul>
<li>RADEON_NO_TCL - if set, disable hardware-accelerated Transform/Clip/Lighting.
</ul>
 
 
<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>
 
<ul>
<li>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.
<li>GALLIUM_LOG_FILE - specifies a file for logging all errors, warnings, etc.
rather than stderr.
<li>GALLIUM_PRINT_OPTIONS - if non-zero, print all the Gallium environment
variables which are used, and their current values.
<li>GALLIUM_DUMP_CPU - if non-zero, print information about the CPU on start-up
<li>TGSI_PRINT_SANITY - if set, do extra sanity checking on TGSI shaders and
print any errors to stderr.
<LI>DRAW_FSE - ???
<LI>DRAW_NO_FSE - ???
<li>DRAW_USE_LLVM - if set to zero, the draw module will not use LLVM to execute
shaders, vertex fetch, etc.
<li>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.
</ul>
 
<h3>Softpipe driver environment variables</h3>
<ul>
<li>SOFTPIPE_DUMP_FS - if set, the softpipe driver will print fragment shaders
to stderr
<li>SOFTPIPE_DUMP_GS - if set, the softpipe driver will print geometry shaders
to stderr
<li>SOFTPIPE_NO_RAST - if set, rasterization is no-op'd. For profiling purposes.
<li>SOFTPIPE_USE_LLVM - if set, the softpipe driver will try to use LLVM JIT for
vertex shading procesing.
</ul>
 
 
<h3>LLVMpipe driver environment variables</h3>
<ul>
<li>LP_NO_RAST - if set LLVMpipe will no-op rasterization
<li>LP_DEBUG - a comma-separated list of debug options is acceptec. See the
source code for details.
<li>LP_PERF - a comma-separated list of options to selectively no-op various
parts of the driver. See the source code for details.
<li>LP_NUM_THREADS - an integer indicating how many threads to use for rendering.
Zero turns of threading completely. The default value is the number of CPU
cores present.
</ul>
 
<h3>VMware SVGA driver environment variables</h3>
<ul>
<li>SVGA_FORCE_SWTNL - force use of software vertex transformation
<li>SVGA_NO_SWTNL - don't allow software vertex transformation fallbacks
(will often result in incorrect rendering).
<li>SVGA_DEBUG - for dumping shaders, constant buffers, etc. See the code
for details.
<li>See the driver code for other, lesser-used variables.
</ul>
 
 
<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>
/contrib/sdk/sources/Mesa/docs/extensions.html
0,0 → 1,51
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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/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/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>
/contrib/sdk/sources/Mesa/docs/faq.html
0,0 → 1,405
<!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 FAQ</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<center>
<h1>Mesa Frequently Asked Questions</h1>
Last updated: 9 October 2012
</center>
 
<br>
<br>
<h2>Index</h2>
<a href="#part1">1. High-level Questions and Answers</a>
<br>
<a href="#part2">2. Compilation and Installation Problems</a>
<br>
<a href="#part3">3. Runtime / Rendering Problems</a>
<br>
<a href="#part4">4. Developer Questions</a>
<br>
<br>
<br>
 
 
 
<h1 id="part1">1. High-level Questions and Answers</h1>
 
<h2>1.1 What is Mesa?</h2>
<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="http://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="http://dri.freedesktop.org/">DRI website</a>
for more information.</li>
<li>See <a href="http://intellinuxgraphics.org">intellinuxgraphics.org</a>
for more information about Intel drivers.</li>
<li>See <a href="http://nouveau.freedesktop.org">nouveau.freedesktop.org</a>
for more information about Nouveau drivers.</li>
<li>See <a href="http://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, libGL.so, 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 libGL.so library provides the GL and GLX API functions, a GLX
protocol encoder, and a device driver loader.
<li>The device driver modules (such as r200_dri.so) 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://oss.sgi.com/projects/ogl-sample/index.html">
OpenGL Sample Implemenation (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="http://sourceforge.net/projects/ogl-es/">Vincent</a> is
an open-source implementation of OpenGL ES for mobile devices.
 
<p>
<a href="http://www.dsbox.com/minigl.html">miniGL</a>
is a subset of OpenGL for PalmOS devices.
 
<p>
<a href="http://bellard.org/TinyGL/">TinyGL</a>
is a subset of OpenGL.
</p>
 
<p>
<a href="http://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>
 
 
 
<br>
<br>
 
 
<h1 id="part2">2. Compilation and Installation Problems</h1>
 
 
<h2>2.1 What's the easiest way to install Mesa?</h2>
<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>
 
 
<h2>2.2 I get undefined symbols such as bgnpolygon, v3f, etc...</h2>
<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>
 
 
<h2>2.3 Where is the GLUT library?</h2>
<p>
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
<a href="http://freeglut.sourceforge.net/">freeglut</a>.
</p>
 
 
<h2>2.4 Where is the GLw library?</h2>
<p>
GLw (OpenGL widget library) is now available from a separate <a href="http://cgit.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="http://oss.sgi.com/projects/ogl-sample/ABI/index.html">Linux ABI</a> standard.
Basically you'll want the following:
</p>
<ul>
<li>/usr/include/GL/gl.h - the main OpenGL header
</li><li>/usr/include/GL/glu.h - the OpenGL GLU (utility) header
</li><li>/usr/include/GL/glx.h - the OpenGL GLX header
</li><li>/usr/include/GL/glext.h - the OpenGL extensions header
</li><li>/usr/include/GL/glxext.h - the OpenGL GLX extensions header
</li><li>/usr/include/GL/osmesa.h - the Mesa off-screen rendering header
</li><li>/usr/lib/libGL.so - a symlink to libGL.so.1
</li><li>/usr/lib/libGL.so.1 - a symlink to libGL.so.1.xyz
</li><li>/usr/lib/libGL.so.xyz - the actual OpenGL/Mesa library. xyz denotes the
Mesa version number.
</li></ul>
<p>
When configuring Mesa, there are three autoconf options that affect the install
location that you should take care with: <code>--prefix</code>,
<code>--libdir</code>, and <code>--with-dri-driverdir</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>--with-dri-driverdir</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>--with-dri-driverdir=/usr/lib64/dri</code>.
</p>
<p>
After determining the correct values for the install location, configure Mesa
with <code>./configure --prefix=/usr --libdir=xxx --with-dri-driverdir=xxx</code>
and then install with <code>sudo make install</code>.
</p>
<br>
<br>
 
 
<h1 id="part3">3. Runtime / Rendering Problems</h1>
 
<h2>3.1 Rendering is slow / why isn't my graphics hardware being used?</h2>
<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="http://dri.freedesktop.org/">DRI website</a> for trouble-shooting information.
</p>
 
 
<h2>3.2 I'm seeing errors in depth (Z) buffering. Why?</h2>
<p>
Make sure the ratio of the far to near clipping planes isn't too great.
Look
<a href="http://www.opengl.org/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>
 
 
<h2>3.3 Why Isn't depth buffering working at all?</h2>
<p>
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.
</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 GLX_DEPTH_SIZE.
</p>
<p>This discussion applies to stencil buffers, accumulation buffers and
alpha channels too.
</p>
 
 
<h2>3.4 Why does glGetString() always return NULL?</h2>
<p>
Be sure you have an active/current OpenGL rendering context before
calling glGetString.
</p>
 
 
<h2>3.5 GL_POINTS and GL_LINES don't touch the right pixels</h2>
<p>
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.
</p>
 
<h2>3.6 How can I change the maximum framebuffer size in Mesa's
<tt>swrast</tt> backend?</h2>
<p>
These can be overridden by using the <tt>--with-max-width</tt> and
<tt>--with-max-height</tt> options. The two need not be equal.
</p><p>
Do note that Mesa uses these values to size some internal buffers,
so increasing these sizes will cause Mesa to require additional
memory. Furthermore, increasing these limits beyond <tt>4096</tt>
may introduce rasterization artifacts; see the leading comments in
<tt>src/mesa/swrast/s_tritemp.h</tt>.
</p>
 
<br>
<br>
 
 
<h1 id="part4">4. Developer Questions</h1>
 
<h2>4.1 How can I contribute?</h2>
<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="http://www.opengl.org/documentation">
OpenGL Specification</a> is the bible for OpenGL implemention 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>
 
<h2>4.2 How do I write a new device driver?</h2>
<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 seldome 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>
 
 
<h2>4.3 Why isn't GL_EXT_texture_compression_s3tc implemented in Mesa?</h2>
<p>
The <a href="http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt">specification for the extension</a>
indicates that there are intellectual property (IP) and/or patent issues
to be dealt with.
</p>
<p>We've been unsucessful in getting a response from S3 (or whoever owns
the IP nowadays) to indicate whether or not an open source project can
implement the extension (specifically the compression/decompression
algorithms).
</p>
<p>
In the mean time, a 3rd party <a href="http://dri.freedesktop.org/wiki/S3TC">
plug-in library</a> is available.
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/gears.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/contrib/sdk/sources/Mesa/docs/helpwanted.html
0,0 → 1,105
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Help Wanted / To-Do List</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="http://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://bugs.freedesktop.org/describecomponents.cgi?product=Mesa">bug database</a>.
<li>
<b>Remove aliasing warnings.</b>
Enable gcc -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing
issues in the code.
<li>
<b>Windows driver building, testing and maintenance.</b>
Fixing MSVC builds.
<li>
<b>Contribute more tests to
<a href="http://piglit.freedesktop.org/">Piglit</a>.</b>
<li>
<b>Automatic testing.
</b>
It would be great if someone would set up an automated system for grabbing
the latest Mesa code and run tests (such as piglit) then report issues to
the mailing list.
</ol>
 
<p>
You can find some further To-do lists here:
</p>
 
<p>
<b>Common To-Do lists:</b>
</p>
<ul>
<li><a href="http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt">
<b>GL3.txt</b></a> - Status of OpenGL 3.x / 4.x features in Mesa.</li>
<li><a href="http://dri.freedesktop.org/wiki/MissingFunctionality">
<b>MissingFunctionality</b></a> - Detailed information about missing OpenGL features.</li>
</ul>
 
<p>
<b>Driver specific To-Do lists:</b>
</p>
<ul>
<li><a href="http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/docs/llvm-todo.txt">
<b>LLVMpipe</b></a> - Software driver using LLVM for runtime code generation.</li>
<li><a href="http://dri.freedesktop.org/wiki/RadeonsiToDo">
<b>radeonsi</b></a> - Driver for AMD Southern Island.</li>
<li><a href="http://dri.freedesktop.org/wiki/R600ToDo">
<b>r600g</b></a> - Driver for ATI/AMD R600 - Northern Island.</li>
<li><a href="http://dri.freedesktop.org/wiki/R300ToDo">
<b>r300g</b></a> - Driver for ATI R300 - R500.</li>
<li><a href="http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/i915/TODO">
<b>i915g</b></a> - Driver for Intel i915/i945.</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>
/contrib/sdk/sources/Mesa/docs/index.html
0,0 → 1,1476
<!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>The Mesa 3D Graphics Library</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>News</h1>
 
<h2>August 1, 2013</h2>
<p>
<a href="relnotes/9.1.6.html">Mesa 9.1.6</a> is released.
This is a bug fix release.
</p>
 
<h2>July 17, 2013</h2>
<p>
<a href="relnotes/9.1.5.html">Mesa 9.1.5</a> is released.
This is a bug fix release.
</p>
 
<h2>July 1, 2013</h2>
<p>
<a href="relnotes/9.1.4.html">Mesa 9.1.4</a> is released.
This is a bug fix release.
</p>
 
<h2>May 21, 2013</h2>
<p>
<a href="relnotes/9.1.3.html">Mesa 9.1.3</a> is released.
This is a bug fix release.
</p>
 
<h2>April 30, 2013</h2>
<p>
<a href="relnotes/9.1.2.html">Mesa 9.1.2</a> is released.
This is a bug fix release.
</p>
 
<h2>March 19, 2013</h2>
<p>
<a href="relnotes/9.1.1.html">Mesa 9.1.1</a> is released.
This is a bug fix release.
</p>
 
<h2>February 24, 2013</h2>
 
<p>
Mesa demos 8.1.0 is released.
See the <a href="http://lists.freedesktop.org/archives/mesa-dev/2013-February/035180.html">announcement</a> for more information about the release.
You can download it from <a href="ftp://ftp.freedesktop.org/pub/mesa/demos/8.1.0/">ftp.freedesktop.org/pub/mesa/demos/8.1.0/</a>.
</p>
 
 
<h2>February 22, 2013</h2>
 
<p>
<a href="relnotes/9.1.html">Mesa 9.1</a> is released.
This is a new development release.
See the release notes for more information about the release.
</p>
 
 
<h2>February 21, 2013</h2>
 
<p>
<a href="relnotes/9.0.3.html">Mesa 9.0.3</a> is released.
This is a bug fix release.
</p>
 
 
<h2>January 22, 2013</h2>
 
<p>
<a href="relnotes/9.0.2.html">Mesa 9.0.2</a> is released.
This is a bug fix release.
</p>
 
 
<h2>November 16, 2012</h2>
 
<p>
<a href="relnotes/9.0.1.html">Mesa 9.0.1</a> is released.
This is a bug fix release.
</p>
 
 
<h2>October 24, 2012</h2>
 
<p>
<a href="relnotes/8.0.5.html">Mesa 8.0.5</a> is released.
This is a bug fix release.
</p>
 
 
<h2>October 8, 2012</h2>
 
<p>
<a href="relnotes/9.0.html">Mesa 9.0</a> is released.
This is the first version of Mesa to support OpenGL 3.1 and GLSL 1.40
(with the i965 driver).
See the release notes for more information about the release.
</p>
 
 
<h2>July 10, 2012</h2>
 
<p>
<a href="relnotes/8.0.4.html">Mesa 8.0.4</a> is released.
This is a bug fix release.
</p>
 
 
<h2>May 18, 2012</h2>
 
<p>
<a href="relnotes/8.0.3.html">Mesa 8.0.3</a> is released.
This is a bug fix release.
</p>
 
 
<h2>March 21, 2012</h2>
 
<p>
<a href="relnotes/8.0.2.html">Mesa 8.0.2</a> is released.
This is a bug fix release.
</p>
 
 
<h2>February 16, 2012</h2>
 
<p>
<a href="relnotes/8.0.1.html">Mesa 8.0.1</a> is released. This is a bug fix
release. See the release notes for more information about the release.
</p>
 
<h2>February 9, 2012</h2>
 
<p>
<a href="relnotes/8.0.html">Mesa 8.0</a> is released.
This is the first version of Mesa to support OpenGL 3.0 and GLSL 1.30
(with the i965 driver).
See the release notes for more information about the release.
</p>
 
 
<h2>November 27, 2011</h2>
 
<p>
<a href="relnotes/7.11.2.html">Mesa 7.11.2</a> is released. This is a bug fix
release. This release was made primarily to fix build problems with 7.11.1 on
Mandriva and to fix problems related to glCopyTexImage to luminance-alpha
textures. The later was believed to have been fixed in 7.11.1 but was not.
</p>
 
<h2>November 17, 2011</h2>
 
<p>
<a href="relnotes/7.11.1.html">Mesa 7.11.1</a> is released. This is a bug
fix release.
</p>
 
<h2>July 31, 2011</h2>
 
<p>
<a href="relnotes/7.11.html">Mesa 7.11</a> (final) is released. This is a new
development release.
</p>
 
<h2>June 13, 2011</h2>
 
<p>
<a href="relnotes/7.10.3.html">Mesa 7.10.3</a> is released. This is a bug
fix release.
</p>
 
<h2>April 6, 2011</h2>
 
<p>
<a href="relnotes/7.10.2.html">Mesa 7.10.2</a> is released. This is a bug
fix release.
</p>
 
<h2>March 2, 2011</h2>
 
<p>
<a href="relnotes/7.9.2.html">Mesa 7.9.2</a> and
<a href="relnotes/7.10.1.html">Mesa 7.10.1</a> are released. These are
stable releases containing bug fixes since the 7.9.1 and 7.10 releases.
</p>
 
 
<h2>October 4, 2010</h2>
 
<p>
<a href="relnotes/7.9.html">Mesa 7.9</a> (final) is released. This is a new
development release.
</p>
 
 
<h2>September 27, 2010</h2>
 
<p>
<a href="relnotes/7.9.html">Mesa 7.9.0-rc1</a> is released. This is a
release candidate for the 7.9 development release.
</p>
 
 
<h2>June 16, 2010</h2>
 
<p>
<a href="relnotes/7.8.2.html">Mesa 7.8.2</a> is released. This is a bug-fix
release collecting fixes since the 7.8.1 release.
</p>
 
 
<h2>April 5, 2010</h2>
 
<p>
<a href="relnotes/7.8.1.html">Mesa 7.8.1</a> is released. This is a bug-fix
release for a few critical issues in the 7.8 release.
</p>
 
 
<h2>March 28, 2010</h2>
<p>
<a href="relnotes/7.7.1.html">Mesa 7.7.1</a> is released. This is a bug-fix
release fixing issues found in the 7.7 release.
</p>
<p>
Also, <a href="relnotes/7.8.html">Mesa 7.8</a> is released. This is a new
development release.
</p>
 
 
 
<h2>December 21, 2009</h2>
<p>
<a href="relnotes/7.6.1.html">Mesa 7.6.1</a> is released. This is a bug-fix
release fixing issues found in the 7.6 release.
</p>
<p>
Also, <a href="relnotes/7.7.html">Mesa 7.7</a> is released. This is a new
development release.
</p>
 
 
<h2>September 28, 2009</h2>
<p>
<a href="relnotes/7.6.html">Mesa 7.6</a> is released. This is a new feature
release. Those especially concerned about stability may want to wait for the
follow-on 7.6.1 bug-fix release.
</p>
<p>
<a href="relnotes/7.5.2.html">Mesa 7.5.2</a> is also released.
This is a stable release fixing bugs since the 7.5.1 release.
</p>
 
 
<h2>September 3, 2009</h2>
<p>
<a href="relnotes/7.5.1.html">Mesa 7.5.1</a> is released.
This is a bug-fix release which fixes bugs found in version 7.5.
</p>
 
 
<h2>July 17, 2009</h2>
<p>
<a href="relnotes/7.5.html">Mesa 7.5</a> is released.
This is a new features release. People especially concerned about
stability may want to wait for the follow-on 7.5.1 bug-fix release.
</p>
 
 
<h2>June 23, 2009</h2>
<p>
<a href="relnotes/7.4.4.html">Mesa 7.4.4</a> is released.
This is a stable release that fixes a regression in the i915/i965 drivers
that slipped into the 7.4.3 release.
</p>
 
 
<h2>June 19, 2009</h2>
<p>
<a href="relnotes/7.4.3.html">Mesa 7.4.3</a> is released.
This is a stable release fixing bugs since the 7.4.2 release.
</p>
 
 
<h2>May 15, 2009</h2>
<p>
<a href="relnotes/7.4.2.html">Mesa 7.4.2</a> is released.
This is a stable release fixing bugs since the 7.4.1 release.
</p>
 
 
<h2>April 18, 2009</h2>
<p>
<a href="relnotes/7.4.1.html">Mesa 7.4.1</a> is released.
This is a stable release fixing bugs since the 7.4 release.
</p>
 
 
<h2>March 27, 2009</h2>
<p>
<a href="relnotes/7.4.html">Mesa 7.4</a> is released.
This is a stable release fixing bugs since the 7.3 release.
</p>
 
 
<h2>January 22, 2009</h2>
<p>
<a href="relnotes/7.3.html">Mesa 7.3</a> is released.
This is a new development release.
Mesa 7.4 will follow and will have bug fixes relative to 7.3.
</p>
 
 
<h2>September 20, 2008</h2>
<p>
<a href="relnotes/7.2.html">Mesa 7.2</a> is released.
This is a stable, bug-fix release.
</p>
 
 
<h2>August 26, 2008</h2>
<p>
<a href="relnotes/7.1.html">Mesa 7.1</a> is released.
This is a new development release.
It should be relatively stable, but those especially concerned about
stability should wait for the 7.2 release or use Mesa 7.0.4 (the
previous stable release).
</p>
 
 
<h2>August 16, 2008</h2>
<p>
<a href="relnotes/7.0.4.html">Mesa 7.0.4</a> is released.
This is a bug-fix release.
</p>
 
 
<h2>April 4, 2008</h2>
<p>
<a href="relnotes/7.0.3.html">Mesa 7.0.3</a> is released.
This is a bug-fix release.
</p>
 
 
<h2>January 24, 2008</h2>
 
<p>
Added a new page describing the Mesa Cell driver.
</p>
 
 
 
<h2>November 13, 2007</h2>
 
<p>
Gallium3D is the codename for the new Mesa device driver architecture
which is currently under development.
</p>
<p>
Gallium3D development is taking place on the <em>gallium-0.1</em> branch
of the git repository.
Currently, there's only a software-only driver and an Intel i915/945 driver
but other drivers will be coming...
</p>
 
 
<h2>November 10, 2007</h2>
<p>
<a href="relnotes/7.0.2.html">Mesa 7.0.2</a> is released.
This is a bug-fix release.
</p>
 
 
<h2>August 3, 2007</h2>
<p>
<a href="relnotes/7.0.1.html">Mesa 7.0.1</a> is released.
This is a bug-fix release.
</p>
 
 
<h2>June 22, 2007</h2>
<p>
<a href="relnotes/7.0.html">Mesa 7.0</a> is released.
This is a stable release featuring OpenGL 2.1 support.
</p>
 
 
<h2>April 27, 2007</h2>
<p>
<a href="relnotes/6.5.3.html">Mesa 6.5.3</a> is released.
This is a development release which will lead up to the Mesa 7.0 release
(which will advertise OpenGL 2.1 API support).
</p>
 
 
<h2>March 26, 2007</h2>
<p>
The new Shading Language compiler branch has been merged into the git
master branch. This is a step toward hardware support for the OpenGL
2.0 Shading Language and will be included in the next Mesa release.
In conjunction, <a href="http://glean.sf.net">Glean</a> has been updated
with a new test that does over 130 tests of the
shading language and built-in functions.
</p>
 
<h2>April 2007</h2>
<p>
Thomas Hellstr&ouml;m of Tungsten Graphics has written a whitepaper
describing the new DRI memory management system.
</p>
 
<h2>December 5, 2006</h2>
<p>
Mesa is now using git as its source code management system.
The previous CVS repository should no longer be used.
See the <a href="repository.html">repository page</a> for more information.
</p>
 
<h2>December 2, 2006</h2>
<p>
<a href="relnotes/6.5.2.html">Mesa 6.5.2</a> has been released.
This is a new development release.
</p>
 
<h2>September 15, 2006</h2>
<p>
<a href="relnotes/6.5.1.html">Mesa 6.5.1</a> has been released.
This is a new development release.
</p>
 
<h2>March 31, 2006</h2>
<p>
<a href="relnotes/6.5.html">Mesa 6.5</a> has been released.
This is a new development release.
</p>
 
 
<h2>February 2, 2006</h2>
<p>
<a href="relnotes/6.4.2.html">Mesa 6.4.2</a> has been released.
This is stable, bug-fix release.
</p>
 
 
<h2>November 29, 2005</h2>
<p>
<a href="relnotes/6.4.1.html">Mesa 6.4.1</a> has been released.
This is stable, bug-fix release.
</p>
 
 
 
<h2>October 24, 2005</h2>
<p>
<a href="relnotes/6.4.html">Mesa 6.4</a> has been released.
This is stable, bug-fix release.
</p>
 
 
<h2>August 19, 2005</h2>
<p>
Mesa 6.3.2 has been released.
Note: there was no public release of version 6.3.1.
</p>
<a href="versions.html#6.3.2">Changes in version 6.3.1</a>
<p>
The MD5 checksums are:
</p>
<pre>
98192e45ed8d69113688f89f90869346 MesaLib-6.3.2.tar.gz
0df27701df0924d17ddf41185efa8ce1 MesaLib-6.3.2.tar.bz2
ccb2423aab77fc7e81ce628734586140 MesaLib-6.3.2.zip
9d0fca0a7d051c34a0b485423fb3e85d MesaDemos-6.3.2.tar.gz
96708868450c188205e42229b5d813c4 MesaDemos-6.3.2.tar.bz2
c5102501e609aa8996d832fafacb8ab9 MesaDemos-6.3.2.zip
</pre>
 
 
<h2>July 20, 2005</h2>
<p>
Mesa 6.3 has been released.
This is a development release with new features, changes and bug fixes.
</p>
<pre>
New:
- GL_EXT_framebuffer_object extension
- GL_ARB_draw_buffers extension
- GL_ARB_pixel_buffer_object extension
- GL_OES_read_format extension (Ian Romanick)
- DirectFB driver (Claudio Ciccani)
- x86_64 vertex transformation code (Mikko T.)
Changes:
- added -stereo option for glxgears demo (Jacek Rosik)
- updated the PBuffer demo code in xdemos/ directory
- glDeleteTextures/Programs/Buffers() now makes the object ID
available for immediate re-use
- assorted 64-bit clean-ups fixes (x86_64 and Win64)
- lots of internal changes for GL_EXT_framebuffer_object
Bug fixes:
- some functions didn't support PBO functionality
- glGetTexImage didn't convert color index images to RGBA as required
- fragment program texcoords were sometimes wrong for points and lines
- fixed problem with negative dot product in arbfplight, fplight demos
- fixed bug in perspective correction of antialiased, textured lines
- querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
- fixed a couple per-pixel fog bugs (Soju Matsumoto)
- glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
- fixed float parsing bug in ARB frag/vert programs (bug 2520)
- XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
- GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
- glXChooseFBConfig() crashed if attribList pointer was NULL
- program state.light[n].spot.direction.w was wrong value (bug 3083)
- fragment program fog option required glEnable(GL_FOG) - wrong.
- glColorTable() could produce a Mesa implementation error (bug 3135)
- RasterPos could get corrupted by color index rendering path
- Removed bad XTranslateCoordinates call when rendering to Pixmaps
- glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
- fixed a few Darwin compilation problems
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
0236f552d37514776945d5a013e5bb7b MesaLib-6.3.tar.gz
60e1a8f78c4a8c7750a1e95753190986 MesaLib-6.3.tar.bz2
ca7c950fbace68c70caa822322db7223 MesaLib-6.3.zip
25ea801645b376c014051804fe4974b2 MesaDemos-6.3.tar.gz
9248e74872ea88c57ec25c900c295057 MesaDemos-6.3.tar.bz2
8537dfa734ef258dcc7272097558d434 MesaDemos-6.3.zip
</pre>
 
 
<h2>December 9, 2004</h2>
<p>
Mesa 6.2.1 has been released.
This is a stable release which just fixes bugs since the 6.2 release.
</p>
<pre>
Bug fixes:
- don't apply regular fog or color sum when using a fragment program
- glProgramEnvParameter4fARB always generated an error on
GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
- glVertexAttrib3svNV and glVertexAttrib3svARB were broken
- fixed width/height mix-up in glSeparableFilter2D()
- fixed regression in glCopyPixels + convolution
- glReadPixels from a clipped front color buffer didn't always work
- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
- Attempting queries/accesses of VBO 0 weren't detected as errors
- paletted textures failed if the palette had fewer than 256 entries
Changes:
- fixed a bunch of compiler warnings found with gcc 3.4
- bug reports should to go bugzilla.freedesktop.org
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
80008a92f6e055d3bfdde2cf331ec3fa MesaLib-6.2.1.tar.gz
f43228cd2bf70f583ef3275c1c545421 MesaLib-6.2.1.tar.bz2
dec26cfd40116ad021020fea2d94f652 MesaLib-6.2.1.zip
2c7af3c986a7571c8713c8bfee7e49e3 MesaDemos-6.2.1.tar.gz
3cac74667b50bcbd4f67f594fb4224a2 MesaDemos-6.2.1.tar.bz2
75b3edd12eb2b370caf05f29b99e508a MesaDemos-6.2.1.zip
</pre>
 
 
<h2>October 2, 2004</h2>
<p>
Mesa 6.2 has been released.
This is a stable release which just fixes bugs since the 6.1 release.
</p>
<pre>
New:
- enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
- updated Doxygen support (Jose Fonseca)
Changes:
- some GGI driver updates (Christoph Egger, bug 1025977)
Bug fixes:
- Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
- fixed a few compilation issues on IRIX
- fixed a matrix classification bug (reported by Wes Bethel)
- we weren't reseting the vertex/fragment program error state
before parsing (Dave Reveman)
- adjust texcoords for sampling texture rectangles (Dave Reveman)
- glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
- repeated calls to glDeleteTexture(t) could lead to a crash
- fixed potential ref count bugs in VBOs and vertex/fragment programs
- spriteblast demo didn't handle window size changes correctly
- glTexSubImage didn't handle pixels=NULL correctly for PBOs
- fixed color index mode glDrawPixels bug (Karl Schultz)
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
9e8f34b059272dbb8e1f2c968b33bbf0 MesaLib-6.2.tar.gz
3d6a6362390b6a37d3cb2e615f3ac7db MesaLib-6.2.tar.bz2
6cfd7895d28e695c0dbbed9469564091 MesaLib-6.2.zip
3e06e33b0809f09855cb60883b8bdfef MesaDemos-6.2.tar.gz
9d160009c3dfdb35fe7e4088c9ba8f85 MesaDemos-6.2.tar.bz2
856f7ec947122eb3c8985ebc2f654dcd MesaDemos-6.2.zip
</pre>
 
 
<h2>August 18, 2004</h2>
<p>
Mesa 6.1 has been released.
This is a new development release (version 6.2 will be a stabilization
release).
</p>
<pre>
New:
- Revamped Makefile system
- glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
- internal driver interface changes related to texture object
allocation, vertex/fragment programs, BlendEquationSeparate, etc.
- option to walk triangle edges with double-precision floats
(Justin Novosad of Discreet) (see config.h file)
- support for AUX buffers in software GLX driver
- updated glext.h to version 24 and glxext.h to version 6
- new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
- updated BeOS support (Philippe Houdoin)
Changes:
- fragment fog interpolation is perspective corrected now
- new glTexImage code, much cleaner, may be a bit faster
Bug fixes:
- glArrayElement in display lists didn't handle generic vertex attribs
- glFogCoord didn't always work properly
- ARB_fragment_program fog options didn't work
- frag prog TEX instruction no longer incorrectly divides s,t,r by q
- ARB frag prog TEX and TEXP instructions now use LOD=0
- glTexEnviv in display lists didn't work
- glRasterPos didn't do texgen or apply texture matrix
- GL_DOUBLE-valued vertex arrays were broken in some cases
- fixed texture rectangle edge/border sampling bugs
- sampling an incomplete texture in a fragment program would segfault
- glTexImage was missing a few error checks
- fixed some minor glGetTexParameter glitches
- GL_INTENSITY was mistakenly accepted as a &lt;format&gt; to glTexImage
- fragment program writes to RC/HC register were broken
- fixed a few glitches in GL_HP_occlusion_test extension
- glBeginQueryARB and glEndQueryARB didn't work inside display lists
- vertex program state references were broken
- fixed triangle color interpolation bug on AIX (Shane Blackett)
- fixed a number of minor memory leaks (bug #1002030)
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
c9284d295ebcd2e0486cc3cd54e5863c MesaLib-6.1.tar.gz
5de1f53ec0709f60fc68fdfed57351f3 MesaLib-6.1.tar.bz2
483e77cac4789a5d36c42f3c0136d6d8 MesaLib-6.1.zip
8c46cfa6f9732acc6f6c25724aad0246 MesaDemos-6.1.tar.gz
89bfe0f6c69b39fd0ebd9fff481a4e9b MesaDemos-6.1.tar.bz2
161268531fcc6f0c5a056430ee97e0c1 MesaDemos-6.1.zip
</pre>
 
 
 
<h2>April 2, 2004</h2>
 
<p>
Mesa 6.0.1 has been released.
This release basically just fixes bugs since the 6.0. release.
</p>
<pre>
New:
- upgraded glext.h to version 22
- new build targets (Dan Schikore)
- new linux-x86-opteron build target (Heath Feather)
Bug fixes:
- glBindProgramARB didn't update all necessary state
- fixed build problems on OpenBSD
- omit CVS directories from tarballs
- glGetTexImage(GL_COLOR_INDEX) was broken
- fixed an infinite loop in t&amp;l module
- silenced some valgrind warnings about using unitialized memory
- fixed some compilation/link glitches on IRIX (Mike Stephens)
- glBindProgram wasn't getting compiled into display lists
- GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
- two-sided lighting and vertex program didn't work (bug 887330)
- stores to program parameter registers in vertex state programs
didn't work.
- fixed glOrtho bug found with gcc 3.2.2 (RH9)
- glXCreateWindow() wasn't fully implemented (bug 890894)
- generic vertex attribute arrays didn't work in display lists
- vertex buffer objects' default usage and access fields were wrong
- glDrawArrays with start!=0 was broken
- fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
- linux-osmesa16-static config didn't work
- fixed a few color index rendering problems (bug 910687)
- glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
- OSMesa RGB and BGR modes were broken
- glProgramStringARB mistakenly required a null-terminated string
- fragment program XPD instruction was incorrect
- glGetMaterial() didn't work reliably
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
011be0e79666c7a6eb9693fbf9348653 MesaLib-6.0.1.tar.gz
b7f14088c5c2f14490d2739a91102112 MesaLib-6.0.1.tar.bz2
bf0510cf0a2b87d64cdd317eca3f1db1 MesaLib-6.0.1.zip
b7b648599e0aaee1c4ffc554a2a9139e MesaDemos-6.0.1.tar.gz
dd6aadfd9ca8e1cfa90c6ee492bc6f43 MesaDemos-6.0.1.tar.bz2
eff71d59c211825e949199852f5a2316 MesaDemos-6.0.1.zip
</pre>
 
 
<h2>January 16, 2004</h2>
 
<p>
Mesa 6.0 has been released. This is a stabilization of the 5.1 release
and primarily just incorporates bug fixes.
</p>
<pre>
New:
- full OpenGL 1.5 support
- updated GL/glext.h file to version 21
Changes:
- changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h)
Bug fixes:
- fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color
clamping issue
- updated suno5-gcc configs
- glColor3 functions sometimes resulted in undefined alpha values
- fixed FP divide by zero error seen on VMS with xlockmore, others
- fixed vertex/fragment program debug problem (bug 873011)
- building on AIX with gcc works now
- glDeleteProgramsARB failed for ARB fragment programs (bug 876160)
- glDrawRangeElements tried to modify potentially read-only storage
- updated files for building on Windows
</pre>
 
 
<h2>December 28, 2003</h2>
 
<p>
The Mesa CVS server has been moved to <a href="http://www.freedesktop.org">
freedesktop.org</a> because of problems with SourceForge's anonymous
CVS service.
</p>
 
 
<h2>December 17, 2003</h2>
 
<p>
Mesa 5.1 has been released. This is a new development release.
Mesa 6.0 will be the next stable release and will support all
OpenGL 1.5 features.
</p>
<pre>
New features:
- reorganized directory tree
- GL_ARB_vertex/fragment_program extensions (Michal Krol &amp; Karl Rasche)
- GL_ATI_texture_env_combine3 extension (Ian Romanick)
- GL_SGI_texture_color_table extension (Eric Plante)
- GL_NV_fragment_program extension
- GL_NV_light_max_exponent extension
- GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
- GL_ARB_occlusion_query extension
- GL_ARB_point_sprite extension
- GL_ARB_texture_non_power_of_two extension
- GL_IBM_multimode_draw_arrays extension
- GL_EXT_texture_mirror_clamp extension (Ian Romanick)
- GL_ARB_vertex_buffer_object extension
- new X86 feature detection code (Petr Sebor)
- less memory used for display lists and vertex buffers
- demo of per-pixel lighting with a fragment program (demos/fplight.c)
- new version (18) of glext.h header
- new spriteblast.c demo of GL_ARB_point_sprite
- faster glDrawPixels in X11 driver in some cases (see relnotes/5.1)
- faster glCopyPixels in X11 driver in some cases (see relnotes/5.1)
Bug fixes:
- really enable OpenGL 1.4 features in DOS driver.
- fixed issues in glDrawPixels and glCopyPixels for very wide images
- glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
- fixed some texgen bugs reported by Daniel Borca
- fixed wglMakeCurrent(NULL, NULL) bug (#835861)
- fixed glTexSubImage3D z-offset bug (Cedric Gautier)
- fixed RGBA blend enable bug (Ville Syrjala)
- glAccum is supposed to be a no-op in selection/feedback mode
- fixed texgen bug #597589 (John Popplewell)
Changes:
- dropped API trace feature (src/Trace/)
- documentation overhaul. merged with website content. more html.
- glxgears.c demo updated to use GLX swap rate extensions
- glTexImage1/2/3D now allows width/height/depth = 0
- disable SPARC asm code on Linux (bug 852204)
</pre>
<p>
The MD5 checksums are:
</p>
<pre>
78f452f6c55478471a744f07147612b5 MesaLib-5.1.tar.gz
67b3b8d3f7f4c8c44904551b851d01af MesaLib-5.1.tar.bz2
6dd19ffa750ec7f634e370a987505c9d MesaLib-5.1.zip
e0214d4ebb22409dfa9262f2b52fd828 MesaDemos-5.1.tar.gz
066c9aff4fd924405de1ae9bad5ec9a7 MesaDemos-5.1.tar.bz2
d2b5ba32b53e0ad0576c637a4cc1fb41 MesaDemos-5.1.zip
</pre>
 
 
<H2>November 12, 2003</H2>
 
<p>
New Mesa 5.0.2 tarballs have been uploaded to SourceForge which fix a
number of automake/libtool problems.
</p>
<p>
The new MD5 checksums are:
</p>
<pre>
a9dcf3ff9ad1b7d6ce73a0df7cff8b5b MesaLib-5.0.2.tar.gz
7b4bf9261657c2fca03796d4955e6f50 MesaLib-5.0.2.tar.bz2
79c141bddcbad557647535d02194f346 MesaLib-5.0.2.zip
952d9dc823dd818981d1a648d7b2668a MesaDemos-5.0.2.tar.gz
b81fafff90995025d2f25ea02b786642 MesaDemos-5.0.2.tar.bz2
a21be975589e8a2d1871b6bb7874fffa MesaDemos-5.0.2.zip
</pre>
 
 
<h2>September 5, 2003</h2>
 
<p>
Mesa 5.0.2 has been released. This is a stable, bug-fix release.
</p>
<pre>
Bug fixes:
- fixed texgen problem causing texcoord's Q to be zero (stex3d)
- default GL_TEXTURE_COMPARE_MODE_ARB was wrong
- GL_CURRENT_MATRIX_NV query was wrong
- GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
- GL_LIST_MODE query wasn't correct
- GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
- GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
- blended, wide lines didn't always work correctly (bug 711595)
- glVertexAttrib4svNV w component was always 1
- fixed bug in GL_IBM_rasterpos_clip (missing return)
- GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
- a few Solaris compilation fixes
- fixed glClear() problem for DRI drivers (non-existant stencil, etc)
- fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
- fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
- glFog() didn't clamp fog colors
- fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
gl[Get]TexParameteri[v] functions
- fixed invalid memory references in glTexGen functions (bug 781602)
- integer-valued color arrays weren't handled correctly
- glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
- GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
Changes:
- build GLUT with -fexceptions so C++ apps propogate exceptions
</pre>
 
 
<h2>June 2003</h2>
 
<p>
Mesa's directory tree has been overhauled.
Things are better organized now with some thought toward future needs.
</p>
<p>
In CVS, the latest Mesa 5.1 development code is now rooted under the
<b>Mesa-newtree/</b> directory. The old top-level <b>Mesa/</b> directory
holds the Mesa 5.0.x code which will be abandoned at some point.
</p>
 
 
<h2>March 30, 2003</h2>
 
<p>
Mesa 5.0.1 has been released. This is a stable, bug-fix release.
</p>
<pre>
New:
- DOS driver updates from Daniel Borca
- updated GL/gl_mangle.h file (Bill Hoffman)
Bug fixes:
- auto mipmap generation for cube maps was broken (bug 641363)
- writing/clearing software alpha channels was unreliable
- minor compilation fixes for OS/2 (Evgeny Kotsuba)
- fixed some bad assertions found with shadowtex demo
- fixed error checking bug in glCopyTexSubImage2D (bug 659020)
- glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
- fixed potential segfault in texture object validation (bug 659012)
- fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
- fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
- fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
- glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
- fixed compilation problem on Solaris7/x86 (bug 536406)
- fixed prefetch bug in 3DNow! code (Felix Kuhling)
- fixed NeXT build problem (FABSF macro)
- glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
- zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
- AA line and triangle Z values are now rounded, not truncated
- fixed color interpolation bug when GLchan==GLfloat (bug 694461)
- glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
- fixed a minor GL_COLOR_MATERIAL bug
- NV vertex program EXP instruction was broken
- glColorMask misbehaved with X window / pixmap rendering
- fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
- attempt to fix GGI compilation problem when MesaDemos not present
- NV vertex program ARL-relative fetches didn't work
Changes:
- use glPolygonOffset in gloss demo to avoid z-fighting artifacts
- updated winpos and pointblast demos to use ARB extensions
- disable SPARC normal transformation code (bug 673938)
- GLU fixes for OS/2 (Evgeny Kotsuba)
</pre>
<p>
MD5 checksums follow:
</p>
<pre>
b80f8b5d53a3e9f19b9fde5af0c542f0 MesaLib-5.0.1.tar.gz
513b4bbd7d38951f05027179063d876b MesaLib-5.0.1.tar.bz2
eebd395678f4520d33b267e5d5c22651 MesaLib-5.0.1.zip
49d7feaec6dc1d2091d7c3cc72a9b320 MesaDemos-5.0.1.tar.gz
37190374a98c3c892f0698be9ca3acf0 MesaDemos-5.0.1.tar.bz2
becd8bf17f5791361b4a54ba2a78e5c9 MesaDemos-5.0.1.zip
</pre>
 
 
 
<h2>March 7, 2003</h2>
<p>
Website and documentation overhaul.
</p>
<p>
The website content and Mesa documentation (from the doc/ directory) have
been merged together.
All the documentation files have been entered into the CVS repository.
Many of the old plain-text files have been converted to html and modernized.
</p>
 
 
<h2>November 13, 2002</h2>
<p>Mesa 5.0 has been released. This is a stable release which
implements the OpenGL 1.4 specification.
</p><pre>New:
- OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
- removed some overlooked debugging code
- glxinfo updated to support GLX_ARB_multisample
- GLUT now support GLX_ARB_multisample
- updated DOS driver (Daniel Borca)
Bug fixes:
- GL_POINT and GL_LINE-mode polygons didn't obey cull state
- fixed potential bug in _mesa_align_malloc/calloc()
- fixed missing triangle bug when running vertex programs
- fixed a few HPUX compilation problems
- FX (Glide) driver didn't compile
- setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
- a few EXT functions, like glGenTexturesEXT, were no-ops
- a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
glMultiDrawArrays and glMultiDrawElements were missing
- glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
- Pentium 4 Mobile was mistakenly identified as having 3DNow!
- fixed one-bit error in point/line fragment Z calculation
- fixed potential segfault in fakeglx code
- fixed color overflow problem in DOT3 texture env mode
</pre>
 
 
<h2>October 29, 2002</h2>
<p>Mesa 4.1 has been released. This is a new development release.
For a stable release, get 4.0.4.
</p><pre>New:
- GL_NV_vertex_program extension
- GL_NV_vertex_program1_1 extension
- GL_ARB_window_pos extension
- GL_ARB_depth_texture extension
- GL_ARB_shadow extension
- GL_ARB_shadow_ambient extension
- GL_EXT_shadow_funcs extension
- GL_ARB_point_parameters extension
- GL_ARB_texture_env_crossbar
- GL_NV_point_sprite extension
- GL_NV_texture_rectangle extension
- GL_EXT_multi_draw_arrays extension
- GL_EXT_stencil_two_side extension
- GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
- GL_ATI_texture_mirror_once extension (Ian Romanick)
- massive overhaul/simplification of software rasterizer module,
many contributions from Klaus Niederkrueger
- faster software texturing in some cases (i.e. trilinear filtering)
- new OSMesaGetProcAddress() function
- more blend modes implemented with MMX code (Jose Fonseca)
- added glutGetProcAddress() to GLUT
- added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
- pbinfo and pbdemo PBuffer programs
- glxinfo -v prints transprent pixel info (Gerd Sussner)
Bug fixes:
- better mipmap LOD computation (prevents excessive blurriness)
- OSMesaMakeCurrent() didn't recognize buffer size changes
- assorted conformance fixes for 16-bit/channel rendering
- texcombine alpha subtraction mode was broken
- fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
- clamp colors to [0,1] in OSMesa if GLchan==GLfloat (Gerk Huisma)
- fixed divide by zero error in NURBS tessellator (Jon Perry)
- fixed GL_LINEAR fog bug by adding clamping
- fixed FP exceptions found using Alpha CPU
- 3dfx/glide driver render-to-window feature was broken
- added missing GLX_TRANSPARENT_RGB token to glx.h
- fixed error checking related to paletted textures
- fixed reference count error in glDeleteTextures (Randy Fayan)
Changes:
- New spec file and Python code to generate some GL dispatch files
- Glide driver defaults to "no" with autoconf/automake
- floating point color channels now clamped to [0,inf)
- updated demos/stex3d with new options
</pre>
 
 
<h2>October 4, 2002</h2>
<p>
The <a href="faq.html">Mesa FAQ</a> has been rewritten.
</p>
 
<h2>October 3, 2002</h2>
<p>Mesa 4.0.4 has been released. This is a stable bug-fix release.
</p><pre> New:
- GL_NV_texture_rectangle extension
- updated glext.h header (version 17)
- updated DOS driver (Daniel Borca)
- updated BeOS R5 driver (Philippe Houdoin)
- added GL_IBM_texture_mirror_repeat
- glxinfo now takes -l option to print interesting OpenGL limits info
- GL_MESA_ycbcr_texture extension
- GL_APPLE_client_storage extension (for some DRI drivers only)
- GL_MESA_pack_invert extension
Bug fixes:
- fixed GL_LINEAR fog bug by adding clamping
- fixed FP exceptions found using Alpha CPU
- 3dfx MESA_GLX_FX=window (render to window) didn't work
- fixed memory leak in wglCreateContest (Karl Schultz)
- define GLAPIENTRY and GLAPI if undefined in glu.h
- wglGetProcAddress didn't handle all API functions
- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
- error checking in compressed tex image functions had some glitches
- fixed AIX compile problem in src/config.c
- glGetTexImage was using pixel unpacking instead of packing params
- auto-mipmap generation for cube maps was incorrect
Changes:
- max texture units reduced to six to accomodate texture rectangles
- removed unfinished GL_MESA_sprite_point extension code
</pre>
 
<h2>June 25, 2002</h2>
<p>Mesa 4.0.3 has been released. This is a stable bug-fix release.
</p><pre> New:
- updated GL/glext.h file (version 15)
- corrected MMX blend code (Jose Fonseca)
- support for software-based alpha planes in Windows driver
- updated GGI driver (Filip Spacek)
Bug fixes:
- glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
- OSMesaMakeCurrent() didn't recognize buffer size changes
- assorted conformance fixes for 16-bit/channel rendering
- texcombine alpha subtraction mode was broken
- fixed lighting bug with non-uniform scaling and display lists
- fixed bug when deleting shared display lists
- disabled SPARC cliptest assembly code (Mesa bug 544665)
- fixed a couple Solaris compilation/link problems
- blending clipped glDrawPixels didn't always work
- glGetTexImage() didn't accept packed pixel types
- glPixelMapu[is]v() could explode given too large of pixelmap
- glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
- glXCopyContext() could lead to segfaults
- glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
Changes:
- lots of C++ (g++) code clean-ups
- lots of T&amp;L updates for the Radeon DRI driver
Known bugs:
- mipmap LOD computation (fixed for Mesa 4.1)
</pre>
 
<h2>April 2, 2002</h2>
<p>Mesa 4.0.2 has been released. This is a stable bug-fix release.
</p><pre> New:
- New DOS (DJGPP) driver written by Daniel Borca
- New driver interface functions for TCL drivers (such as Radeon DRI)
- GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
if using deep color channels
- latest GL/glext.h and GL/glxext.h headers from SGI
Bug fixes:
- GL_BLEND with non-black texture env color wasn't always correct
- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
- glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
- glReadPixels was sometimes mistakenly clipped by the scissor box
- glDraw/ReadPixels didn't catch all the errors that they should have
- Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
- 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
- Fixed 1-bit float-&gt;int conversion bug in glDrawPixels(GL_DEPTH_COMP)
- glColorMask as sometimes effecting glXSwapBuffers()
- fixed a potential bug in XMesaGarbageCollect()
- N threads rendering into one window didn't work reliably
- glCopyPixels didn't work for deep color channels
- improved 8 -&gt; 16bit/channel texture image conversion (Gerk Huisma)
- glPopAttrib() didn't correctly restore user clip planes
- user clip planes failed for some perspective projections (Chromium)
</pre>
 
<h2>December 17, 2001</h2>
<p>Mesa 4.0.1 has been released. This is a stable bug-fix release.
</p><pre> New:
- better sub-pixel sample positions for AA triangles (Ray Tice)
- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
Bug fixes:
- added missing break statements in glGet*() for multisample cases
- fixed uninitialized hash table mutex bug (display lists / texobjs)
- fixed bad teximage error check conditional (bug 476846)
- fixed demos readtex.c compilation problem on Windows (Karl Schultz)
- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
- silence some compiler warnings (gcc 2.96)
- enable the #define GL_VERSION_1_3 in GL/gl.h
- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
- fixed glu.h typedef problem found with MSDev 6.0
- build libGL.so with -Bsymbolic (fixes bug found with Chromium)
- added missing 'const' to glXGetContextIDEXT() in glxext.h
- fixed a few glXGetProcAddress() errors (texture compression, etc)
- fixed start index bug in compiled vertex arrays (Keith)
- fixed compilation problems in src/SPARC/glapi_sparc.S
- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
- use glXGetProcAddressARB in GLUT to avoid extension linking problems
- provoking vertex of flat-shaded, color-index triangles was wrong
- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
- glTexParameter didn't flush the vertex buffer (Ray Tice)
- feedback attributes for glDraw/CopyPixels and glBitmap were wrong
- fixed bug in normal length caching (ParaView lighting bug)
</pre>
 
<h2>October 22, 2001</h2>
<p>Mesa 4.0 has been released. This is a stable release.
</p><pre> New:
- Mesa 4.0 implements the OpenGL 1.3 specification
- GL_IBM_rasterpos_clip extension
- GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
- GL_ARB_texture_mirrored_repeat extension
- WindML UGL driver (Stephane Raimbault)
- added OSMESA_MAX_WIDTH/HEIGHT queries
- attempted compiliation fixes for Solaris 5, 7 and 8
- updated glext.h and glxext.h files
- updated Windows driver (Karl Schultz)
Bug fixes:
- added some missing GLX 1.3 tokens to include/GL/glx.h
- GL_COLOR_MATRIX changes weren't recognized by teximage functions
- glCopyPixels with scale and bias was broken
- glRasterPos with lighting could segfault
- glDeleteTextures could leave a dangling pointer
- Proxy textures for cube maps didn't work
- fixed a number of 16-bit color channel bugs
- fixed a few minor memory leaks
- GLX context sharing was broken in 3.5
- fixed state-update bugs in glPopClientAttrib()
- fixed glDrawRangeElements() bug
- fixed a glPush/PopAttrib() bug related to texture binding
- flat-shaded, textured lines were broken
- fixed a dangling pointer problem in the XMesa code (Chris Burghart)
- lighting didn't always produce the correct alpha value
- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
</pre>
 
 
<h2>June 21, 2001</h2>
<p>Mesa 3.5 has been released. This is a new development release.
</p><pre> New:
- internals of Mesa divided into modular pieces (Keith Whitwell)
- 100% OpenGL 1.2 conformance (passes all conformance tests)
- new AA line algorithm
- GL_EXT_convolution extension
- GL_ARB_imaging subset
- OSMesaCreateContextExt() function
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
- GL_EXT_fog_coord extension (Keith Whitwell)
- GL_EXT_secondary_color extension (Keith Whitwell)
- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- GL_SGIX_depth_texture extension
- GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
- demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
- GL_ARB_texture_env_combine extension
- GL_ARB_texture_env_dot3 extension
- GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
- OSMesaCreateContextExt() function
- libOSMesa.so library, contains the OSMesa driver interface
- GL/glxext.h header file for GLX extensions
- somewhat faster software texturing, fogging, depth testing
- all color-index conformance tests now pass (only 8bpp tested)
- SPARC assembly language TCL optimizations (David Miller)
- GL_SGIS_generate_mipmap extension
Bug Fixes:
- fbiRev and tmuRev were unitialized when using Glide3
- fixed a few color index mode conformance failures; all pass now
- now appling antialiasing coverage to alpha after texturing
- colors weren't getting clamped to [0,1] before color table lookup
- fixed RISC alignment errors caused by COPY_4UBV macro
- drawing wide, flat-shaded lines could cause a segfault
- vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
Changes:
- SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
- new libOSMesa.so library, contains the OSMesa driver interface
</pre>
 
 
<h2>May 17, 2001</h2>
<p>Mesa 3.4.2 has been released. This is basically just a bug-fix release.
Here's what's new:</p>
<pre> Bug fixes:
- deleting the currently bound texture could cause bad problems
- using fog could result in random vertex alpha values
- AA triangle rendering could touch pixels outside right window bound
- fixed byteswapping problem in clear_32bit_ximage() function
- fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
- fixed memory leak in glXUseXFont()
- fragment sampling in AA triangle function was off by 1/2 pixel
- Windows: reading pixels from framebuffer didn't always work
- glConvolutionFilter2D could segfault or cause FP exception
- fixed segfaults in FX and X drivers when using tex unit 1 but not 0
- GL_NAND logicop didn't work right in RGBA mode
- fixed a memory corruption bug in vertex buffer reset code
- clearing the softwara alpha buffer with scissoring was broken
- fixed a few color index mode fog bugs
- fixed some bad assertions in color index mode
- fixed FX line 'stipple' bug #420091
Changes:
- optimized writing mono-colored pixel spans to X pixmaps
- increased max viewport size to 2048 x 2048
</pre>
 
 
<h2>April 29, 2001</h2>
<p>New Mesa website</p>
<p>Mark Manning produced the new website.<br>Thanks, Mark!</p>
 
 
<h2>February 14, 2001</h2>
<p>Mesa 3.4.1 has been released. Here's what's new:</p>
<pre> New:
- fixed some Linux build problems
- fixed some Windows build problems
- GL_EXT_texture_env_dot3 extension (Gareth Hughes)
Bug fixes:
- added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
- various state-update code changes needed for DRI bugs
- disabled pixel transfer ops in glColorTable commands, not needed
- fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
- updated sources and fixed compile problems in widgets-mesa/
- GLX_PBUFFER enum value was wrong in glx.h
- fixed a glColorMaterial lighting bug
- fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
- glXCopySubBufferMESA() Y position was off by one
- Error checking of glTexSubImage3D() was broken (bug 128775)
- glPopAttrib() didn't restore all derived Mesa state correctly
- Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
conformance problems at 16bpp.
- clearing depth buffer with scissoring was broken, would segfault
- OSMesaGetDepthBuffer() returned bad bytesPerValue value
- fixed a line clipping bug (reported by Craig McDaniel)
- fixed RGB color over/underflow bug for very tiny triangles
Known problems:
- NURBS or evaluator surfaces inside display lists don't always work
</pre>
 
<h2>November 3, 2000</h2>
<p>Mesa 3.4 has been released. Here's what's new since the 3.3 release:</p>
<pre> New:
- optimized glDrawPixels for glPixelZoom(1,-1)
Bug Fixes:
- widgets-mesa/src/*.c files were missing from 3.3 distro
- include/GL/mesa_wgl.h file was missing from 3.3 distro
- fixed some Win32 compile problems
- texture object priorities weren't getting initialized to 1.0
- glAreTexturesResident return value was wrong when using hardware
- glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
- glReadPixels with GLushort packed types was broken
- fixed a few bugs in the GL_EXT_texture_env_combine texture code
- glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
- fixed some typos/bugs in the VB code
- glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
- optimized glDrawPixels paths weren't being used
- per-fragment fog calculation didn't work without a Z buffer
- improved blending accuracy, fixes Glean blendFunc test failures
- glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
- glXGetProcAddressARB() didn't always return the right address
- gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
- texture matrix changes weren't always detected (GLUT projtex demo)
- fixed random color problem in vertex fog code
- fixed Glide-related bug that let Quake get a 24-bit Z buffer
Changes:
- finished internal support for compressed textures for DRI
</pre>
 
<h2>April 24, 2000</h2>
<p>Mesa 3.2 has been released. Here's what's new since the beta release:</p>
<pre> Bug fixes:
- fixed memcpy bugs in span.c
- fixed missing glEnd problem in demos/tessdemo.c
- fixed bug when clearing 24bpp Ximages
- fixed clipping problem found in Unreal Tournament
- fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
- fixed Loki's 3dfx RGB vs BGR bug
- fixed Loki's 3dfx smooth/flat shading bug in SoF
Changes:
- updated docs/README file
- use bcopy() optimizations on FreeBSD
- re-enabled the optimized persp_textured_triangle() function
</pre>
 
<h2>March 23, 2000</h2>
<p>I've just upload the Mesa 3.2 beta 1 files to SourceForge at <a href="http://sourceforge.net/project/showfiles.php?group_id=3">http://sourceforge.net/project/filelist.php?group_id=3</a></p>
<p>3.2 (note even number) is a stabilization release of Mesa 3.1 meaning it's mainly
just bug fixes.</p>
<p>Here's what's changed:</p>
<pre>
Bug fixes:
- mixed drawing of lines and bitmaps sometimes had wrong colors
- added missing glHintPGI() function
- fixed a polygon culling bug
- fixed bugs in gluPartialDisk()
- Z values in selection mode were wrong
- added missing tokens:
GL_SMOOTH_POINT_SIZE_RANGE
GL_SMOOTH_POINT_SIZE_GRANULARITY
GL_SMOOTH_LINE_WIDTH_RANGE
GL_SMOOTH_LINE_WIDTH_GRANULARITY
GL_ALIASED_POINT_SIZE_RANGE
GL_ALIASED_LINE_WIDTH_RANGE
- fixed glCopyPixels when copying from back to front buffer
- GL_EXT_compiled_vertex_array tokens had _SGI suffix instead of _EXT
- glDrawRangeElements(GL_LINES, 0, 1, 2, type, indices) was broken
- glDeleteTextures() didn't decrement reference count correctly
- GL_SRCA_ALPHA_SATURATE blend mode didn't work correctly
- Actual depth of transformation matrix stacks was off by one
- 24bpp visuals didn't address pixels correctly
- mipmap level of detail (lambda) calculation simplified, more accurate
- 101691 - Polygon clipping and GL_LINE
- 101928 - Polygon clipping and GL_LINE (same fix as above)
- 101808 - Non-glVertexArrays tristrip bug
- 101971 - find_last_3f on Dec OSF (worked around)
- 102369 - segv on dec osf (possibly a duplicate of the above)
- 102893 - orientations of modelview cause segfault
New:
- updated SVGA Linux driver
- added the MESA_FX_NO_SIGNALS env var, see docs/README.3DFX
- build libGLw.a (Xt/OpenGL drawing area widget) library by default
- changed -O2 to -O3 for a number of gcc configs
Changes:
- glXCopyContext's mask parameter is now unsigned long, per GLX spec
</pre>
 
<p>Please report any problems with this release ASAP. Bugs should be filed on the
Mesa3D website at sourceforge.<br>
After 3.2 is wrapped up I hope to release 3.3 beta 1 soon afterward.</p>
<p>-- Brian</p>
 
<h2>December 17, 1999</h2>
<p>A Slashdot interview with Brian about Mesa (questions submitted by Slashdot readers)
can be found at <a href="http://slashdot.org/interviews/99/12/17/0927212.shtml">http://slashdot.org/interviews/99/12/17/0927212.shtml</a>.</p>
 
<h2>December 14, 1999</h2>
<p>Mesa 3.1 is released!</p>
 
<h2>September 21, 1999</h2>
<p>There appear to be two new files on the ftp site, <code>MesaLib-3.1beta3.tar.gz</code>
and <code>MesaDemos-3.1beta3.tar.gz</code>,
that seem to be... yes, I've just received confirmation from the beta center, they
are indeed the <b>THIRD</b> beta release of Mesa 3.1! Happy Days. Happy Days. Thanks
Keith Whitwell for preparing these for us during Brian's absence.</p>
 
<h2>August 30, 1999</h2>
<p>I'm pleased to announce that I've accepted a position with Precision Insight,
Inc. effective October, 1999. I'll be leaving Avid Technology in September.</p>
<p>I've been working on Mesa in my spare time for over five years. With Precision
Insight I now have the opportunity to devote my full attention to advancing Mesa
and OpenGL on Linux.</p>
<p>While I'll be focused on Linux, the X Window System, and hardware acceleration,
my work will continue to be open sourced and available to any other programmers who
may want to contribute to it, or use it for other projects or platforms</p>
<p>PS: I'm going to be traveling until Sep 6 and won't be reading email until then.</p>
 
<h2>August 23, 1999</h2>
<p>Anonymous CVS access is back online so suck up all the bandwidth you can afford.
Note that this is a new archive, so you will need to re-checkout the archive. That
means don't <i>cvs update</i> from a previous download.</p>
 
<h2>August 17, 1999</h2>
<p>A report from the SIGGRAPH '99 Linux/OpenGL
BOF meeting is now available.</p>
<p>-Brian</p>
 
<h2>August 14, 1999</h2>
<p><a href="http://www.mesa3d.org">www.mesa3d.org</a> is having
technical problems due to hardware failures at VA Linux systems. The Mac pages,
ftp, and CVS services aren't fully restored yet. Please be patient.</p>
<p>-Brian</p>
 
<h2>June 7, 1999</h2>
<p>RPMS of the nVidia RIVA server can be found at <code>ftp://ftp.mesa3d.org/mesa/misc/nVidia/</code>.</p>
 
<h2>June 2, 1999</h2>
<p><a href="http://www.nvidia.com/">nVidia</a> has released some Linux binaries for
xfree86 3.3.3.1, along with the <b>full source</b>, which includes GLX acceleration
based on Mesa 3.0. They can be downloaded from <code>http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html</code>.</p>
 
<h2>May 24, 1999</h2>
<p>Beta 2 of Mesa 3.1 has been make available at <code>ftp://ftp.mesa3d.org/mesa/beta/</code>.
If you are into the quake scene, you may want to try this out, as it contains some
optimizations specifically in the Q3A rendering path.
 
<h2>May 13, 1999</h2>
<p>For those interested in the integration of Mesa into XFree86 4.0, Precision Insight
has posted their lowlevel design documents at <code>http://www.precisioninsight.com</code>.</p>
 
<h2>May 13, 1999</h2>
<pre>May 1999 - John Carmack of id Software, Inc. has made a donation of
US$10,000 to the Mesa project to support its continuing development.
Mesa is a free implementation of the OpenGL 3D graphics library and id's
newest game, Quake 3 Arena, will use Mesa as the 3D renderer on Linux.
 
The donation will go to Keith Whitwell, who has been optimizing Mesa to
improve performance on 3d hardware. Thanks to Keith's work, many
applications using Mesa 3.1 will see a dramatic performance increase
over Mesa 3.0. The donation will allow Keith to continue working on
Mesa full time for some time to come.
 
For more information about Mesa see www.mesa3d.org. For more
information about id Software, Inc. see www.idsoftware.com.
 
--------------------------------
 
This donation from John/id is very generous. Keith and I are very
grateful.
 
</pre>
 
<h2>May 1, 1999</h2>
<p>John Carmack made an interesting .plan update yesterday:</p>
<blockquote>
<i>"I put together a document on optimizing OpenGL drivers for Q3 that
should be helpful to the various Linux 3D teams.</i><br>
http://www.quake3arena.com/news/glopt.html"
</blockquote>
 
<h2>April 7, 1999</h2>
<p>Updated the Mesa contributors section and added links to RPM Mesa packages.</p>
 
<h2>March 18, 1999</h2>
<p>The new webpages are now online. Enjoy, and let me know if you find any errors.
 
<h2>February 16, 1999</h2>
<p><a href="http://www.sgi.com/">SGI</a> releases its
<a href="http://www.sgi.com/software/opensource/glx/">GLX source code</a>.</p>
 
<h2>January 22, 1999</h2>
<p><a href="http://www.mesa3d.org">www.mesa3d.org</a> established</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/install.html
0,0 → 1,211
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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="#autoconf">Building with autoconf (Linux/Unix/X11)</a>
<li><a href="#scons">Building with SCons (Windows/Linux)</a>
<li><a href="#other">Building for other systems</a>
<li><a href="#libs">Library Information</a>
<li><a href="#pkg-config">Building OpenGL programs with pkg-config</a>
</ol>
 
 
<h1 id="prereq-general">1. Prerequisites for building</h1>
 
<h2>1.1 General</h2>
<ul>
<li>lex / yacc - for building the GLSL compiler.
On Linux systems, flex and bison are used.
Versions 2.5.35 and 2.4.1, respectively, (or later) should work.
<br>
<br>
On Windows with MinGW, install flex and bison with:
<pre>mingw-get install msys-flex msys-bison</pre>
</li>
<li>python - Python is needed for building the Gallium components.
Version 2.6.4 or later should work.
<br>
<br>
To build OpenGL ES 1.1 and 2.0 you'll also need
<a href="http://xmlsoft.org/sources/win32/python/libxml2-python-2.7.7.win32-py2.7.exe">libxml2-python</a>.
</li>
</ul>
 
 
<h3 id="prereq-dri">1.2 For DRI and hardware acceleration</h3>
 
<p>
The following are required for DRI-based hardware acceleration with Mesa:
</p>
 
<ul>
<li><a href="http://xorg.freedesktop.org/releases/individual/proto/">
dri2proto</a> version 2.6 or later
<li><a href="http://dri.freedesktop.org/libdrm/">libDRM</a>
version 2.4.33 or later
<li>Xorg server version 1.5 or later
<li>Linux 2.6.28 or later
</ul>
<p>
If you're using a fedora distro the following command should install all
the needed dependencies:
</p>
<pre>
sudo yum install flex bison imake libtool xorg-x11-proto-devel libdrm-devel \
gcc-c++ xorg-x11-server-devel libXi-devel libXmu-devel libXdamage-devel git \
expat-devel llvm-devel
</pre>
 
 
 
<h1 id="autoconf">2. Building with autoconf (Linux/Unix/X11)</h1>
 
<p>
The primary method to build Mesa on Unix systems is with autoconf.
</p>
 
<p>
The general approach is the standard:
</p>
<pre>
./configure
make
sudo make install
</pre>
<p>
But please read the <a href="autoconf.html">detailed autoconf instructions</a>
for more details.
</p>
 
 
 
<h1 id="scons">3. Building with SCons (Windows/Linux)</h1>
 
<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 mesagdi libgl-gdi
</pre>
<p>
This will create:
</p>
<ul>
<li>build/windows-x86-debug/mesa/drivers/windows/gdi/opengl32.dll &mdash; Mesa + swrast, binary compatible with Windows's opengl32.dll
<li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll &mdash; Mesa + Gallium + softpipe, binary compatible with Windows's opengl32.dll
</ul>
<p>
Put them all in the same directory to test them.
</p>
 
 
 
<h1 id="other">4. Building for other systems</h1>
 
<p>
Documentation for other environments (some may be very out of date):
</p>
 
<ul>
<li><a href="README.VMS">README.VMS</a> - VMS
<li><a href="README.CYGWIN">README.CYGWIN</a> - Cygwin
<li><a href="README.WIN32">README.WIN32</a> - Win32
</ul>
 
 
 
<h1 id="libs">5. Library Information</h1>
 
<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).
<br>
<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>
 
 
<h1 id="pkg-config">6. Building OpenGL programs with pkg-config</h1>
 
<p>
Running <code>make 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>
 
<br>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/intro.html
0,0 → 1,355
<!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 Introduction</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Introduction</h1>
 
<p>
Mesa is an open-source implementation of the
<a href="http://www.opengl.org/">OpenGL</a> specification -
a system for rendering interactive 3D graphics.
</p>
 
<p>
A variety of device drivers allows Mesa 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="http://dri.freedesktop.org/">Direct Rendering
Infrastructure</a> and <a href="http://x.org">X.org</a> to
provide OpenGL support to users of X on Linux, FreeBSD and other operating
systems.
</p>
 
 
 
<h1>Project History</h1>
 
<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="http://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="http://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>
Ongoing: Mesa is the OpenGL implementation for several types of hardware
made by Intel, AMD and NVIDIA, plus the VMware virtual GPU.
There's also several software-based renderers: swrast (the legacy
Mesa rasterizer), softpipe (a gallium reference driver) and llvmpipe
(LLVM/JIT-based high-speed rasterizer).
Work continues on the drivers and core Mesa to implement newer versions
of the OpenGL specification.
</p>
 
 
 
<h1>Major Versions</h1>
 
<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>
 
 
<h2>Version 9.x features</h2>
<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>
 
 
<h2>Version 8.x features</h2>
<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>
 
 
<h2>Version 7.x features</h2>
<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>
 
 
<h2>Version 6.x features</h2>
<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="http://www.opengl.org/documentation/spec.html">
OpenGL specification</a> for more details.
</p>
 
 
 
<h2>Version 5.x features</h2>
<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>
 
 
<h2>Version 4.x features</h2>
 
<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>
 
<h2>Version 3.x features</h2>
 
<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>
 
 
<h2>Version 2.x features</h2>
<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>
/contrib/sdk/sources/Mesa/docs/libGL.txt
0,0 → 1,197
 
 
 
Introduction
------------
 
This document describes the implementation of the XFree86 4.0 libGL.so
library defined by the Linux/OpenGL Base specification found at
http://reality.sgi.com/opengl/linux/linuxbase.html.
 
The documentation is divided into two sections:
User's Guide
Driver Developer's Guide
 
Author: Brian Paul (brian@precisioninsight.com)
Date: February 2000
 
 
 
User's Guide
------------
 
Using libGL.so
 
The libGL.so library defines the gl- and glX-prefixed functions needed to
run OpenGL programs. OpenGL client applications should link with the
-lGL option to use it.
 
libGL.so serves two primary functions: GLX protocol generation for indirect
rendering and loading/management of hardware drivers for direct rendering.
 
When libGL.so initializes itself it uses the DRI to determine the
appropriate hardware driver for each screen on the local X display.
The hardware drivers are expected to be in the /usr/X11R6/lib/modules/dri/
directory. Drivers are named with the convention <name>_dri.so where
<name> is a driver such as "radeon", "i965", "nouveau", etc.
 
The LIBGL_DRIVERS_DIR environment variable may be used to specify a
different DRI modules directory, overriding /usr/X11R6/lib/modules/dri/.
This environment variable is ignored in setuid programs for security
reasons.
 
When libGL.so is unable to locate appropriate hardware drivers it will
fall back to using indirect GLX rendering.
 
To aid in solving problems, libGL.so will print diagnostic messages to
stderr if the LIBGL_DEBUG environment variable is defined.
 
libGL.so is thread safe. The overhead of thread safety for common,
single-thread clients is negligible. However, the overhead of thread
safety for multi-threaded clients is significant. Each GL API call
requires two calls to pthread_get_specific() which can noticably
impact performance. Warning: libGL.so is thread safe but individual
DRI drivers may not be. Please consult the documentation for a driver
to learn if it is thread safe.
 
 
 
Indirect Rendering
 
You can force indirect rendering mode by setting the LIBGL_ALWAYS_INDIRECT
environment variable. Hardware acceleration will not be used.
 
 
 
libGL.so Extensibility
 
libGL.so is designed to be extended without upgrading. That is,
drivers may install new OpenGL extension functions into libGL.so
without requiring libGL.so to be replaced. Clients of libGL.so should
use the glXGetProcAddressEXT() function to obtain the address of
functions by name. For more details of GLX_ARB_get_proc_address see
http://oss.sgi.com/projects/ogl-sample/registry/ARB/get_proc_address.spec
 
libGL.so is also designed with flexibility such that it may be used
with many generations of hardware drivers to come.
 
 
 
 
Driver Developer's Guide
------------------------
 
This section describes the requirements to make an XFree86 4.0
libGL.so-compatible hardware driver. It is not intended for end
users of libGL.so.
 
 
XFree86 source files
 
libGL.so is built inside XFree86 with sources found in xc/lib/GL/.
Specifically, libGL.so is built from:
 
xc/lib/GL/glx/*.c
xc/lib/dri/XF86dri.c
xc/lib/dri/dri_glx.c
xc/lib/GL/mesa/src/glapi.c
xc/lib/GL/mesa/src/glapitemp.h
xc/lib/GL/mesa/src/glapitable.h
xc/lib/GL/mesa/src/glapioffsets.h
xc/lib/GL/mesa/src/glapinoop.c
xc/lib/GL/mesa/src/glheader.h
xc/lib/GL/mesa/src/glthread.c
xc/lib/GL/mesa/src/glthread.h
xc/lib/GL/mesa/src/X86/glapi_x86.S
xc/lib/GL/mesa/src/X86/assyntax.h
 
Understand that the mesa/src/gl*.[ch] files are not tied to Mesa. They
have no dependencies on the rest of Mesa and are designed to be reusable
in a number of projects.
 
The glapi_x86.X and assyntax.h files implement x86-optimized dispatch
of GL functions. They are not required; C-based dispatch can be used
instead, with a slight performance penalty.
 
 
 
Driver loading and binding
 
When libGL.so initializes itself (via the __glXInitialize function) a
call is made to driCreateDisplay(). This function uses DRI facilities
to determine the driver file appropriate for each screen on the local
display. Each screen's driver is then opened with dlopen() and asked
for its __driCreateScreen() function. The pointers to the __driCreateScreen()
functions are kept in an array, indexed by screen number, in the
__DRIdisplayRec struct.
 
When a driver's __driCreateScreen() function is called, it must initialize
a __DRIscreenRec struct. This struct acts as the root of a tree of
function pointers which are called to create and destroy contexts and
drawables and perform all the operations needed by the GLX interface.
See the xc/lib/GL/glx/glxclient.h file for details.
 
 
 
Dynamic Extension Function Registration
 
In order to provide forward compatibility with future drivers, libGL.so
allows drivers to register new OpenGL extension functions which weren't
known when libGL.so was built.
 
The register_extensions() function in xc/lib/GL/dri/dri_glx.c is called
as soon as libGL.so is loaded. This is done with gcc's constructor
attribute. This mechanism will likely have to be changed for other compilers.
 
register_extensions() loops over all local displays and screens, determines
the DRI driver for each, and calls the driver's __driRegisterExtensions()
function, if present.
 
The __driRegisterExtensions() function can add new entrypoints to libGL
by calling:
 
GLboolean _glapi_add_entrypoint(const char *funcName, GLuint offset)
 
The parameters are the name of the function (such as "glFoobarEXT") and the
offset of the dispatch slot in the API dispatch table. The return value
indicates success (GL_TRUE) or failure (GL_FALSE).
 
_glapi_add_entrypoint() will synthesize entrypoint code in assembly
language. Assembly languages is required since parameter passing
can't be handled correctly using a C-based solution.
 
The address of the new entrypoint is obtained by calling the
glXGetProcAddressARB() function.
 
The dispatch offset number MUST be a number allocated by SGI in the same
manner in which new GL_* constants are allocated. Using an arbitrary
offset number will result in many problems.
 
 
 
Dispatch Management
 
When a GL context is made current, the driver must install its dispatch
table as the current dispatch table. This is done by calling
 
void _glapi_set_dispatch(struct _glapi_table *dispatch);
 
This will install the named dispatch table for the calling thread.
The current dispatch table for a thread can be obtained by calling
 
struct _glapi_table *_glapi_get_dispatch(void);
 
For higher performance in the common single-thread case, the global
variable _glapi_Dispatch will point to the current dispatch table.
This variable will be NULL when in multi-thread mode.
 
 
 
Context Management
 
libGL.so uses the XFree86 xthreads package to manage a thread-specific
current context pointer. See __glXGet/SetCurrentContext() in glext.c
 
Drivers may use the _glapi_set/get_context() functions to maintain
a private thread-specific context pointer.
 
/contrib/sdk/sources/Mesa/docs/license.html
0,0 → 1,114
<!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 / Copyright Information</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Disclaimer</h1>
 
<p>
Mesa is a 3-D graphics library with an API which is very similar to
that of <a href="http://www.opengl.org/">OpenGL</a>.*
To the extent that Mesa utilizes the OpenGL command syntax or state
machine, it is being used with authorization from <a
href="http://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>. <br>
</p>
 
<p>
* OpenGL is a trademark of <a href="http://www.sgi.com/"
>Silicon Graphics Incorporated</a>.
</p>
 
 
 
<h1>License / Copyright Information</h1>
 
<p>
The Mesa distribution consists of several components. Different copyrights
and licenses apply to different components. For example, some demo programs
are copyrighted by SGI, 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>
 
 
<h1>Attention, Contributors</h1>
 
<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>
 
 
<h1>Mesa Component Licenses</h1>
 
<pre>
Component Location License
------------------------------------------------------------------
Main Mesa code src/mesa/ Mesa (MIT)
 
Device drivers src/mesa/drivers/* MIT, generally
 
Ext headers include/GL/glext.h Khronos
include/GL/glxext.h
</pre>
 
<p>
In general, consult the source files for license terms.
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/lists.html
0,0 → 1,97
<!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 Mailing Lists</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</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="http://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="http://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="http://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="http://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="http://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="http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-announce">mesa3d-announce</a>,
<a href="http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-users">mesa3d-users</a>,
<a href="http://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="http://dri.freedesktop.org/wiki/MailingLists">DRI wiki</a>.
</p>
 
 
<h1>IRC</h1>
 
<p>join <a href="irc://chat.freenode.net#dri-devel">#dri-devel channel</a>
on <a href="http://webchat.freenode.net/">irc.freenode.net</a>
</p>
 
 
<h1>OpenGL Forums</h1>
 
<p>
Here are some other OpenGL-related forums you might find useful:
</p>
 
<ul>
<li><a href="http://www.opengl.org/cgi-bin/ubb/ultimatebb.cgi">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>
/contrib/sdk/sources/Mesa/docs/llvmpipe.html
0,0 → 1,213
<!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>llvmpipe</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Introduction</h1>
 
<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 or x86-64 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>
 
 
<h1>Requirements</h1>
 
<ul>
<li>
<p>An x86 or amd64 processor; 64-bit mode recommended.</p>
<p>
Support for SSE2 is strongly encouraged. Support for SSSE3 and SSE4.1 will
yield the most efficient code. The fewer features the CPU has the more
likely is that you run into underperforming, buggy, or incomplete code.
</p>
<p>
See /proc/cpuinfo to know what your CPU supports.
</p>
</li>
<li>
<p>LLVM: version 2.9 recommended; 2.6 or later required.</p>
<p><b>NOTE</b>: LLVM 2.8 and earlier will not work on systems that support the
Intel AVX extensions (e.g. Sandybridge). LLVM's code generator will
fail when trying to emit AVX instructions. This was fixed in LLVM 2.9.
</p>
<p>
For Linux, on a recent Debian based distribution do:
</p>
<pre>
aptitude install llvm-dev
</pre>
<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 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_RELEASE=MTd for debug and checked builds,
-DLLVM_USE_CRT_RELEASE=MTd for profile and release builds.
 
You can build only the x86 target by passing -DLLVM_TARGETS_TO_BUILD=X86
to cmake.
</p>
</li>
 
<li>
<p>scons (optional)</p>
</li>
</ul>
 
 
<h1>Building</h1>
 
To build everything on Linux invoke scons as:
 
<pre>
scons build=debug libgl-xlib
</pre>
 
Alternatively, you can build it with GNU make, if you prefer, by invoking it as
 
<pre>
make linux-llvm
</pre>
 
but the rest of these instructions assume that scons is used.
 
For Windows the procedure is similar except the target:
 
<pre>
scons build=debug libgl-gdi
</pre>
 
 
<h1>Using</h1>
 
On Linux, building will create a drop-in alternative for libGL.so into
 
<pre>
build/foo/gallium/targets/libgl-xlib/libGL.so
</pre>
or
<pre>
lib/gallium/libGL.so
</pre>
 
To use it set the LD_LIBRARY_PATH environment variable accordingly.
 
For performance evaluation pass debug=no to scons, and use the corresponding
lib directory without the "-debug" suffix.
 
On Windows, building will create a drop-in alternative for opengl32.dll. To use
it put it in the same directory as the 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.
 
 
<h1>Profiling</h1>
 
<p>
To profile llvmpipe you should build as
</p>
<pre>
scons build=profile &lt;same-as-before&gt;
</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>
 
<h2>Linux perf integration</h2>
 
<p>
On Linux, it is possible to have symbol resolution of JIT code with <a href="http://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 /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 script to produce disassembly of
the generated code annotated with the samples.
</p>
 
<p>You can obtain a call graph via
<a href="http://code.google.com/p/jrfonseca/wiki/Gprof2Dot#linux_perf">Gprof2Dot</a>.</p>
 
 
<h1>Unit testing</h1>
 
<p>
Building will also create several unit tests in
build/linux-???-debug/gallium/drivers/llvmpipe:
</p>
 
<ul>
<li> lp_test_blend: blending
<li> lp_test_conv: SIMD vector conversion
<li> lp_test_format: pixel unpacking/packing
</ul>
 
<p>
Some of this tests can output results and benchmarks to a tab-separated-file
for posterior analysis, e.g.:
</p>
<pre>
build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_blend -o blend.tsv
</pre>
 
 
<h1>Development Notes</h1>
 
<ul>
<li>
When looking to this code by the first time start in lp_state_fs.c, and
then skim through the lp_bld_* functions called in there, and the comments
at the top of the lp_bld_*.c functions.
</li>
<li>
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.
</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
http://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html
for a stand-alone example. See the llvm-c/Core.h file for reference.
</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/mangling.html
0,0 → 1,38
<!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>Function Name Mangling</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Function Name Mangling</h1>
 
<p>
If you want to use both Mesa and another OpenGL library in the same
application at the same time you may find it useful to compile Mesa with
<i>name mangling</i>.
This results in all the Mesa functions being prefixed with
<b>mgl</b> instead of <b>gl</b>.
</p>
 
<p>
To do this, recompile Mesa with the compiler flag -DUSE_MGL_NAMESPACE.
Add the flag to CFLAGS in the configuration file which you want to use.
For example:
</p>
<pre>
CFLAGS += -DUSE_MGL_NAMESPACE
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/mesa.css
0,0 → 1,63
/* Mesa CSS */
body {
background-color: #ffffff;
font: 14px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif;
color: black;
link: #111188;
}
 
h1 {
font: 24px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif;
font-weight: bold;
color: black;
}
 
h2 {
font: 18px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif, bold;
font-weight: bold;
color: black;
}
 
code {
font-family: monospace;
font-size: 10pt;
color: black;
}
 
 
pre {
/*font-family: monospace;*/
font-size: 10pt;
/*color: black;*/
}
 
iframe {
width: 19em;
height: 80em;
border: none;
float: left;
}
 
.content {
position: absolute;
left: 20em;
right: 10px;
overflow: hidden
}
 
.header {
background: black url('gears.png') 15px no-repeat;
margin:0;
padding: 5px;
clear:both;
}
 
.header h1 {
background: url('gears.png') right no-repeat;
color: white;
font: x-large sans-serif;
text-align: center;
height: 50px;
margin: 0;
padding-top: 30px;
}
/contrib/sdk/sources/Mesa/docs/opengles.html
0,0 → 1,70
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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 informations about
OpenGL ES can be found at <a href="http://www.khronos.org/opengles/">
http://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>configure</code> with <code>--enable-gles1 --enable-gles2</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>configure</code> with <code>--enable-gles1 --enable-gles2</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 fucntions</p>
 
<pre>
Mesa: glFoo() --&gt; _mesa_Foo()
OpenGL ES: glFoo() --&gt; _es_Foo() --&gt; _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>
/contrib/sdk/sources/Mesa/docs/openvg.html
0,0 → 1,59
<!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>OpenVG State Tracker</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>OpenVG State Tracker</h1>
 
<p>
The current version of the OpenVG state tracker implements OpenVG 1.1.
</p>
<p>
More informations about OpenVG can be found at
<a href="http://www.khronos.org/openvg/">
http://www.khronos.org/openvg/</a> .
</p>
<p>
The OpenVG state tracker depends on the Gallium architecture and a working EGL implementation.
Please refer to <a href="egl.html">Mesa EGL</a> for more information about EGL.
</p>
 
 
<h2>Building the library</h2>
<ol>
<li>Run <code>configure</code> with <code>--enable-openvg</code> and
<code>--enable-gallium-egl</code>. If you do not need OpenGL, you can add
<code>--disable-opengl</code> to save the compilation time.</li>
 
<li>Build and install Mesa as usual.</li>
</ol>
 
<h3>Sample build</h3>
A sample build looks as follows:
<pre>
$ ./configure --disable-opengl --enable-openvg --enable-gallium-egl
$ make
$ make install
</pre>
 
<p>It will install <code>libOpenVG.so</code>, <code>libEGL.so</code>, and one
or more EGL drivers.</p>
 
<h2>OpenVG Demos</h2>
 
<p>OpenVG demos can be found in mesa/demos repository.</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/osmesa.html
0,0 → 1,81
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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>
 
<h1>Building OSMesa</h1>
 
<p>
Configure and build Mesa with something like:
 
<pre>
configure --enable-osmesa --disable-driglx-direct --disable-dri --with-gallium-drivers=swrast
make
</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>
lib/libOSMesa.so (swrast-based OSMesa)
lib/gallium/libOSMsea.so (gallium-based OSMesa)
</pre>
 
<p>
Set your LD_LIBRARY_PATH to point to one directory or the other to select
the library you want to use.
</p>
 
<p>
When you link your application, link with -lOSMesa
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/patents.txt
0,0 → 1,31
ARB_texture_float:
 
Silicon Graphics, Inc. owns US Patent #6,650,327, issued November 18,
2003 [1].
 
SGI believes this patent contains necessary IP for graphics systems
implementing floating point rasterization and floating point
framebuffer capabilities described in ARB_texture_float extension, and
will discuss licensing on RAND terms, on an individual basis with
companies wishing to use this IP in the context of conformant OpenGL
implementations [2].
 
The source code to implement ARB_texture_float extension is included
and can be toggled on at compile time, for those who purchased a
license from SGI, or are in a country where the patent does not apply,
etc.
 
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.
 
You should contact a lawyer or SGI's legal department if you want to
enable this extension.
 
 
[1] http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327
[2] http://www.opengl.org/registry/specs/ARB/texture_float.txt
/contrib/sdk/sources/Mesa/docs/perf.html
0,0 → 1,76
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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 &gt;= 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>
/contrib/sdk/sources/Mesa/docs/postprocess.html
0,0 → 1,64
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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="http://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>
 
 
<br>
<br>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/precompiled.html
0,0 → 1,29
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Precompiled Libraries</h1>
 
<p>
In general, precompiled Mesa libraries are not available.
</p>
<p>
However, some Linux distros (such as Ubuntu) seem to closely track
Mesa and often have the latest Mesa release available as an update.
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/3.1
0,0 → 1,145
 
Mesa 3.1 release notes
 
PLEASE READ!!!!
 
 
New copyright
-------------
 
Mesa 3.1 will be distributed under an XFree86-style copyright instead
of the GNU LGPL.
 
 
New directories
---------------
 
All documentation files are now in the docs/ directory.
All shell scripts are now in the bin/ directory.
 
 
New library names
-----------------
 
Formerly, the main Mesa library was named libMesaGL.so (or libMesaGL.a)
and the GLU library was named libMesaGLU.so (or libMesaGLU.a).
 
Now, the main library is named libGL.so (or libGL.a) and the GLU library
is named libGLU.so (or libGLU.a).
 
The change allows Mesa to be more easily substituted for OpenGL.
Specifically, the linker/loader on some Unix-like systems won't
allow libMesaGL.so to be used instead of libGL.so if the application
was linked with the former.
 
Warning: if you have another OpenGL implementation installed on your
system (i.e. you have another OpenGL libGL.so) you'll have to be
carefull about which library (OpenGL or Mesa) you link against. Be
aware of -L linker flags and the value of the LD_LIBRARY_PATH environment
variable.
 
 
New library versioning
----------------------
 
Previously, the Mesa GL library was named libMesaGL.so.3.0
To better support Linux/OpenGL standards, the Mesa GL library is now
named libGL.so.1.2.030100 This indicates version 1.2 of the OpenGL spec
and Mesa implementation 3.1.0
 
In the long term this will allow better interoperability with other
OpenGL implementations, especially on Linux. In the short term,
OpenGL apps may have to be relinked to use the new library naming.
 
 
 
New makefiles
-------------
 
The old Makefiles found in the various directories have been renamed
to Makefile.X11 in order to prevent filename collisions with autoconfig-
generated Makefiles.
 
The top-level Makefile simply includes Makefile.X11
If your top-level Makefile get's overwritten/destroyed you can restore
it by copying Makefile.X11 to Makefile
 
 
New extensions
--------------
 
GL_EXT_stencil_wrap
Implements two new stencil operations: GL_INCR_WRAP_EXT and
GL_DECR_WRAP_EXT which allow stencil increment and decrement
without clamping.
 
GL_INGR_blend_func_separate
Allows specification of blend factors for RGB and Alpha independently.
(INGR = Intergraph)
 
GL_ARB_multitexture
Multiple simultaneous textures. (ARB = Architecture Review Board)
 
GL_NV_texgen_reflection
nVidia texgen extension for better reflection mapping.
 
GL_PGI_misc_hints
Assorted transformation hints.
 
GL_EXT_compiled_vertex_array
Compiled vertex arrays.
 
GL_EXT_clip_volume_hint
Allows one to disable clip volume (frustum) testing.
 
 
 
Extensions removed
------------------
 
GL_EXT_multitexture - obsolete in favor of GL_ARB_multitexture
 
 
 
Config file
-----------
 
By default, /etc/mesa.conf will be read when Mesa starts. This
file controls default hints, enable/disable of extensions, and
more. See the CONFIG file for documentation.
 
 
 
Optimizations
-------------
 
Keith Whitwell has contributed significant optimizations to Mesa's
vertex transformation code. Basically, the whole transformation
stage of Mesa has been rewritten.
 
It's impossible to give a speedup factor. You'll just have to
try your app and see how it performs.
 
 
 
Device Driver changes
---------------------
 
A bunch of new device driver functions have been added. See src/dd.h
Keith Harrison contributed many of them. I've been planning on adding
a bunch of functions like these to make writing hardware drivers easier.
More such function will probably be added in the near future.
 
 
 
Miscellaneous
-------------
 
util/glstate.c has some handy functions for debugging. Basically, it
offers a simple function for printing GL state variables. It's not
finished yet. There's a LOT more GLenum records to be added (see the
code). Anyone want to help?
 
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/3.2
0,0 → 1,11
 
Mesa 3.2 release notes
 
PLEASE READ!!!!
 
 
Mesa 3.2 is a stabilization of the Mesa 3.1 release. No new features
have been added. For a list of bug fixes please read the VERSIONS file.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/3.2.1
0,0 → 1,31
 
Mesa 3.2.1 release notes
 
PLEASE READ!!!!
 
 
 
The Mesa 3.2.1 release mainly just fixes bugs since the 3.2 release.
See the VERSIONS file for the exact list.
 
 
 
GLU Polygon Tessellator
-----------------------
 
The GLU tessellator has been reverted back to the version included
with Mesa 3.0 since it's more stable. The Mesa 3.1/3.2 tessellator
implemented the GLU 1.3 specification but suffered from a number of
bugs.
 
Mesa implements GLU 1.1.
 
Ideally, people should use the GLU 1.3 library included in SGI's
OpenGL Sample Implementation (SI) available from
http://oss.sgi.com/projects/ogl-sample/
People are working to make easy-to-install Linux RPMs of the
GLU library.
 
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/3.3
0,0 → 1,270
 
Mesa 3.3 release notes
 
July 21, 2000
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.2.1) designate stable releases.
 
Mesa 3.3 has a undergone many internal changes since version 3.2
and features a lot of new extensions. 3.3 is expected to be pretty
stable, but perhaps not as stable as 3.2 which has been used by
thousands of users over the past months.
 
Everyone is encouraged to try Mesa 3.3. Bugs should be reported to
the Mesa bug database on www.sourceforge.net.
 
 
 
Header file / GLenum changes
----------------------------
 
The gl.h and glu.h headers now use #defines to define all GL_* tokens
instead of C-language enums. This change improves Mesa/OpenGL
interoperability.
 
 
 
New API dispatch code
---------------------
 
The core Mesa gl* functions are now implemented with a new dispatch
(jump table) which will allow simultaneous direct/indirect rendering.
 
The code is found in the glapi*.[ch] files.
 
Of interest: the actual "glFooBar" functions are generated with
templatized code defined in glapitemp.h and included by glapi.c
The glapitemp.h template should be reusable for all sorts of OpenGL
projects.
 
The new dispatch code has also optimized with x86 assembly code.
This optimization eliminates copying the function arguments during
dispatch.
 
 
 
New thread support
------------------
 
Thread support in Mesa has been rewritten. The glthread.[ch] files
replace mthreads.[ch]. Thread safety is always enabled (on platforms
which support threads, that is). There is virtually no performance
penalty for typical single-thread applications. See the glapi.c
file for details.
 
The Xlib driver (XMesa) is now thread-safe as well. Be sure to
call XInitThreads() in your app first. See the xdemos/glthreads.c
demo for an example.
 
 
 
Make configuration changes
--------------------------
 
If you use the old-style (non GNU automake) method to build Mesa note
that several of the configuration names have changed:
 
Old name New name
------------- ----------------
linux-elf linux
linux linux-static
linux-386-elf linux-386
linux-386 linux-386-static
etc.
 
 
 
New extensions
--------------
 
GL_ARB_transpose_matrix
Adds glLoadTransposeMatrixARB() and glMultTransposeMatrixARB()
functions.
 
GL_ARB_texture_cube_map
For cube-based reflection mapping.
 
GL_EXT_texture_add_env
Adds GL_ADD texture environment mode.
See http://www.berkelium.com/OpenGL/EXT/texture_env_add.txt
 
GL_EXT_texture_lod_bias
Allows mipmapped texture blurring and sharpening.
 
GLX_EXT_visual_rating extension
This extension has no effect in stand-alone Mesa (used for DRI).
 
GL_HP_occlusion_test
Used for bounding box occlusion testing (see demos/occlude.c).
 
GL_SGIX_pixel_texture / GL_SGIS_pixel_texture
Lets glDraw/CopyPixels draw a texture coordinate image.
 
GL_SGI_color_matrix
Adds a color matrix and another set of scale and bias parameters
to the glDraw/CopyPixels paths.
 
GL_SGI_color_table
Adds additional color tables to the glDraw/Read/CopyPixels paths.
 
GL_EXT_histogram
Compute histograms for glDraw/Read/CopyPixels.
 
GL_EXT_blend_func_separate
This is the same as GL_INGR_blend_func_separate.
 
GL_ARB_texture_cube_mapping
6-face cube mapping, nicer than sphere mapping
 
GL_EXT_texture_env_combine
For advanced texture environment effects.
 
 
Documentation for all these functions can be found at
http://oss.sgi.com/projects/ogl-sample/registry/
 
 
 
GLX_SGI_make_current_read functionality
---------------------------------------
 
The functionality of this extension is needed for GLX 1.3 (and required
for the Linux/OpenGL standards base).
 
Implementing this function required a **DEVICE DRIVER CHANGE**.
The old SetBuffer() function has been replaced by SetReadBuffer() and
SetDrawBuffer(). All device drivers will have to be updated because
of this change.
 
The new function, glXMakeContextCurrent(), in GLX 1.3 now works in Mesa.
The xdemos/wincopy.c program demonstrates it.
 
 
 
Image-related code changes
--------------------------
 
The imaging path code used by glDrawPixels, glTexImage[123]D,
glTexSubImage[123], etc has been rewritten. It's now faster,
uses less memory and has several bug fixes. This work was
actually started in Mesa 3.1 with the glTexImage paths but has now
been carried over to glDrawPixels as well.
 
 
 
Device driver interface changes
-------------------------------
 
Added new functions for hardware stencil buffer support:
WriteStencilSpan
ReadStencilSpan
WriteStencilPixels
ReadStencilPixels
 
 
Removed old depth buffer functions:
AllocDepthBuffer
DepthTestSpan
DepthTestPixels
ReadDepthSpanFloat
ReadDepthSpanInt
 
 
Added new depth buffer functions:
WriteDepthSpan
ReadDepthSpan
WriteDepthPixels
ReadDepthPixels
 
These functions always read/write 32-bit GLuints. This will allow
drivers to have anywhere from 0 to 32-bit Z buffers without
recompiling for 16 vs 32 bits as was previously needed.
 
 
New texture image functions
The entire interface for texture image specification has been updated.
With the new functions, it's optional for Mesa to keep an internal copy
of all textures. Texture download should be a lot faster when the extra
copy isn't made.
 
Misc changes
TexEnv now takes a target argument
Removed UseGlobalTexturePalette (use Enable function instead)
 
 
Also added
ReadPixels
CopyPixels
 
 
The SetBufffer function has been replaced by SetDrawBuffer and
SetReadBuffer functions. This lets core Mesa independently
specify which buffer is to be used for reading and which for
drawing.
 
The Clear function's mask parameter has changed. Instead of
mask being the flags specified by the user to glClear, the
mask is now a bitmask of the DD_*_BIT flags in dd.h. Now
multiple color buffers can be specified for clearing (ala
glDrawBuffers). The driver's Clear function must also
check the glColorMask glIndexMask, and glStencilMask settings
and do the right thing. See the X/Mesa, OS/Mesa, or FX/Mesa
drivers for examples.
 
 
The depth buffer changes shouldn't be hard to make for existing
drivers. In fact, it should simply the code. Be careful with
the depthBits value passed to gl_create_context(). 1 is a bad
value! It should normally be 0, 16, 24, or 32.
 
 
gl_create_framebuffer() takes new arguments which explicitly tell
core Mesa which ancillary buffers (depth, stencil, accum, alpha)
should be implemented in software. Mesa hardware drivers should
carefully set these flags depending on which buffers are in the
graphics card.
 
 
 
Internal constants
------------------
 
Point and line size range and granularity limits are now stored
in the gl_constants struct, which is the Const member of GLcontext.
The limits are initialized from values in config.h but may be
overridden by device drivers to reflect the limits of that driver's
hardware.
 
Also added constants for NumAuxBuffers and SubPixelBits.
 
 
 
OpenGL Conformance
------------------
 
Mesa now passes all the OpenGL 1.1 conformance tests, except for
antialiased lines. AA lines fail on some, but not all, the tests.
In order to fix the remaining failures, a new AA line algorithm will
be needed (which computes coverage values for end-point fragments).
This will be done for Mesa 3.5/3.6.
 
 
 
OpenGL 1.2 GL_ARB_imaging subset
--------------------------------
 
Mesa 3.3 implements all the features of GL_ARB_imaging except for
image convolution. This will (hopefully) be done for Mesa 3.5/3.6.
 
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/3.4
0,0 → 1,21
 
Mesa 3.4 release notes
 
November 3, 2000
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
 
Mesa 3.4 simply fixes bugs found in the Mesa 3.3 release. For details,
see the VERSIONS file.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/3.4.1
0,0 → 1,21
 
Mesa 3.4.1 release notes
 
February 9, 2001
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
 
Mesa 3.4.1 is a maintenance release that simply fixes bugs found since
the Mesa 3.4 release. For details, see the VERSIONS file.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/3.4.2
0,0 → 1,21
 
Mesa 3.4.2 release notes
 
May 17, 2001
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
 
Mesa 3.4.2 is a maintenance release that simply fixes bugs found since
the Mesa 3.4.1 release. For details, see the VERSIONS file.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/3.5
0,0 → 1,227
 
Mesa 3.5 release notes
 
June 21, 2001
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.5) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
 
The biggest change in Mesa 3.5 is a complete overhaul of the source
code in order to make it more modular. This was driven by the DRI
hardware drivers. It simplifies the DRI drivers and opens the door
to hardware transform/clip/lighting (TCL). Keith Whitwell can take
the credit for that.
 
 
 
Driver Support
--------------
 
The device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4
Not all of the older Mesa drivers have been updated. Here's the status:
 
Driver Status
---------------------- -----------
XMesa (Xlib) updated
OSMesa (off-screen) updated
FX (3dfx Voodoo1/2) updated
SVGA updated
GGI not updated
Windows/Win32 not updated
DOS/DJGPP not updated
BeOS not updated
Allegro not updated
D3D not updated
DOS not updated
 
We're looking for volunteers to update the remaining drivers. Please
post to the Mesa3d-dev mailing list if you can help.
 
 
 
GLU 1.3
-------
 
Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library.
This version of GLU supports the GLU 1.3 specification. The old
Mesa GLU library implemented the 1.1 specification. The SI GLU
library should work much better.
 
You'll need a C++ compiler to compile the SI GLU library. This may
be a problem on some systems.
 
 
 
New Extensions
--------------
 
GL_EXT_convolution
Adds image convolution to glRead/Copy/DrawPixels/TexImage.
 
GL_ARB_imaging
This is the optional imaging subset of OpenGL 1.2.
It's the GL_EXT_convolution, GL_HP_convolution_border_modes,
GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable
GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract
and GL_SGI_color_matrix extensions all rolled together.
This is supported in all software renderers but not in all
hardware drivers (3dfx for example).
 
GL_ARB_texture_compression
This is supported in Mesa but only used by the 3dfx DRI drivers
for Voodoo4 and later.
 
GL_ARB_texture_env_add
This is identical to GL_EXT_texture_env_add.
 
GL_NV_blend_square
Adds extra blend source and dest factors which allow squaring
of color values.
 
GL_EXT_fog_coord
Allows specification of a per-vertex fog coordinate instead of
having fog always computed from the eye distance.
 
GL_EXT_secondary_color
Allows specifying the secondary (specular) color for each vertex
instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR
mode.
 
GL_ARB_texture_env_combine
Basically the same as GL_EXT_texture_env_combine
 
GL_ARB_texture_env_add extension
Texture addition mode.
 
GL_ARB_texture_env_dot3 extension
Dot product texture environment.
 
GL_ARB_texture_border_clamp
Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode
 
GL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient
Implements a shadow casting algorithm based on depth map textures
 
GL_SGIS_generate_mipmap
Automatically generate lower mipmap images whenever the base mipmap
image is changed with glTexImage, glCopyTexImage, etc.
 
 
 
libOSMesa.so
------------
 
libOSMesa.so is a new library which contains the OSMesa interface for
off-screen rendering. Apps which need the OSMesa interface should link
with both -lOSMesa and -lGL. This change was made so that stand-alone
Mesa works the same way as XFree86/DRI's libGL.
 
 
 
Device Driver Changes / Core Mesa Changes
-----------------------------------------
 
The ctx->Driver.LogicOp() function has been removed. It used to
be called during state update in order to determine if the driver
could do glLogicOp() operations, and if not, set the SWLogicOpEnabled
flag. Drivers should instead examine the LogicOp state themselves
and choose specialized point, line, and triangle functions appropriately,
or fall back to software rendering. The Xlib driver was the only driver
to use this function. And since the Xlib driver no longer draws
points, lines or triangles using Xlib, the LogicOp function isn't needed.
 
The ctx->Driver.Dither() function has been removed. Drivers should
detect dither enable/disable via ctx->Driver.Enable() instead.
 
The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions
are now just called from glIndexMask and glColorMask like the other
GL state-changing functions. They are no longer called from inside
gl_update_state(). Also, they now return void. The change was made
mostly for sake of uniformity.
 
The NEW_DRVSTATE[0123] flags have been removed. They weren't being used
and are obsolete w.r.t. the way state updates are done in DRI drivers.
 
 
Removed obsolete gl_create_visual() and gl_destroy_visual().
 
Renamed functions (new namespace):
 
old new
gl_create_framebuffer _mesa_create_framebuffer
gl_destroy_framebuffer _mesa_destroy_framebuffer
gl_create_context _mesa_create_context
gl_destroy_context _mesa_destroy_context
gl_context_initialize _mesa_context_initialize
gl_copy_context _mesa_copy_context
gl_make_current _mesa_make_current
gl_make_current2 _mesa_make_current2
gl_get_current_context _mesa_get_current_context
gl_flush_vb _mesa_flush_vb
gl_warning _mesa_warning
gl_compile_error _mesa_compile_error
 
 
All the drivers have been updated, but not all of them have been
tested since I can't test some platforms (DOS, Windows, Allegro, etc).
 
 
X/Mesa Driver
-------------
 
The source files for the X/Mesa driver in src/X have been renamed.
The xmesa[1234].c files are gone. The new files are xm_api.c,
xm_dd.c, xm_line.c, xm_span.c and xm_tri.c.
 
 
 
Multitexture
------------
 
Eight texture units are now supported by default.
 
 
 
OpenGL SI related changes
-------------------------
 
In an effort to make Mesa's internal interfaces more like the OpenGL
SI interfaces, a number of changes have been made:
 
1. Importing the SI's glcore.h file which defines a number of
interface structures like __GLimports and __GLexports.
 
2. Renamed "struct gl_context" to "struct __GLcontextRec".
 
3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions.
 
4. The GLcontext member Visual is no longer a pointer.
 
5. New file: imports.c to setup default import functions for Mesa.
 
 
 
 
16-bit color channels
---------------------
 
There's experimental support for 16-bit color channels (64-bit pixels)
in Mesa 3.5. Only the OSMesa interface can be used for 16-bit rendering.
Type "make linux-osmesa16" in the top-level directory to build the
special libOSMesa16.so library.
 
This hasn't been tested very thoroughly yet so please file bug reports
if you have trouble.
 
In the future I hope to implement support for 32-bit, floating point
color channels.
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/4.0
0,0 → 1,162
 
Mesa 4.0 release notes
 
October 18, 2001
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
 
Mesa version 4.0 signifies two things:
 
1. A stabilization of the 3.5 development release
2. Implementation of the OpenGL 1.3 specification
 
 
Note that the Mesa major version number is incremented with the OpenGL
minor version number:
 
Mesa 1.x == OpenGL 1.0
Mesa 2.x == OpenGL 1.1
Mesa 3.x == OpenGL 1.2
Mesa 4.x == OpenGL 1.3
 
 
 
New Features
------------
 
Mesa 3.5 already had all the new features of OpenGL 1.3, implemented as
extensions. These extensions were simply promoted to 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
 
In Mesa 4.0 the functions defined by these extensions are now available
without the "ARB" suffix. For example, glLoadTransposeMatrixf() is now
a standard API function. The new functions in OpenGL 1.3 and Mesa 4.0 are:
 
glActiveTexture
glClientActiveTexture
glCompressedTexImage1D
glCompressedTexImage2D
glCompressedTexImage3D
glCompressedTexSubImage1D
glCompressedTexSubImage2D
glCompressedTexSubImage3D
glGetCompressedTexImage
glLoadTransposeMatrixd
glLoadTransposeMatrixf
glMultiTexCoord1d
glMultiTexCoord1dv
glMultiTexCoord1f
glMultiTexCoord1fv
glMultiTexCoord1i
glMultiTexCoord1iv
glMultiTexCoord1s
glMultiTexCoord1sv
glMultiTexCoord2d
glMultiTexCoord2dv
glMultiTexCoord2f
glMultiTexCoord2fv
glMultiTexCoord2i
glMultiTexCoord2iv
glMultiTexCoord2s
glMultiTexCoord2sv
glMultiTexCoord3d
glMultiTexCoord3dv
glMultiTexCoord3f
glMultiTexCoord3fv
glMultiTexCoord3i
glMultiTexCoord3iv
glMultiTexCoord3s
glMultiTexCoord3sv
glMultiTexCoord4d
glMultiTexCoord4dv
glMultiTexCoord4f
glMultiTexCoord4fv
glMultiTexCoord4i
glMultiTexCoord4iv
glMultiTexCoord4s
glMultiTexCoord4sv
glMultTransposeMatrixd
glMultTransposeMatrixf
glSampleCoverage
glSamplePass
 
 
GLX 1.4 is the companion to OpenGL 1.3. The only new features in GLX 1.4
are support for multisampling and the GLX_ARB_get_proc_address extension.
glXGetProcAddress() is the only new function in GLX 1.4.
 
 
 
Multisample and Texture Compression
-----------------------------------
 
The OpenGL 1.3 specification allows the multisample and texture compression
features to essentially be no-ops. For example, if you query for multisample
support you'll find none, but the API functions work.
 
Similarly, texture compression is not implemented by any of the software
drivers but you can specify a generic compressed texture format (like
GL_COMPRESSED_RGBA) to glTexImage2D and it'll be accepted.
 
 
 
Device Drivers
--------------
 
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
device driver. If the driver enables all the ARB extensions which are part
of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3". Otherwise,
it'll return "1.2".
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.3
OSMesa (off-screen) implements OpenGL 1.3
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.3
GGI needs updating
DOS/DJGPP needs updating
BeOS needs updating
Allegro needs updating
D3D needs updating
DOS needs updating
 
Special thanks go to Karl Schultz for updating the Windows driver.
 
The XFree86/DRI drivers have not yet been updated to use Mesa 4.0 as of
September 2001, but that should happen eventually.
 
 
 
Other Changes
-------------
 
See the VERSIONS file for more details about bug fixes, etc. in Mesa 4.0.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/4.0.1
0,0 → 1,21
 
Mesa 4.0.1 release notes
 
December 17, 2001
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
 
Mesa 4.0.1 only contains bug fixes since version 4.0.
 
See the docs/VERSIONS file for the list of bug fixes.
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/4.0.2
0,0 → 1,49
 
Mesa 4.0.2 release notes
 
March 25, 2002
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
 
Mesa 4.0.2 only contains bug fixes and a new DOS driver since version 4.0.1.
 
See the docs/VERSIONS file for the list of bug fixes.
 
 
Device Drivers
--------------
 
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
device driver. If the driver enables all the ARB extensions which are part
of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3". Otherwise,
it'll return "1.2".
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.3
OSMesa (off-screen) implements OpenGL 1.3
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.3
DOS/DJGPP implements OpenGL 1.3 (new in Mesa 4.0.2)
GGI needs updating
BeOS needs updating
Allegro needs updating
D3D needs updating
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/4.0.3
0,0 → 1,51
 
Mesa 4.0.3 release notes
 
June 25, 2002
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 3.3) designate new developmental releases.
Even numbered versions (such as 3.4) designate stable releases.
 
Mesa 4.0.3 basically just contains bug fixes version 4.0.2.
 
See the docs/VERSIONS file for the list of bug fixes.
 
The GGI driver has been updated, thanks to Filip Spacek.
 
 
Device Drivers
--------------
 
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the
device driver. If the driver enables all the ARB extensions which are part
of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3". Otherwise,
it'll return "1.2".
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.3
OSMesa (off-screen) implements OpenGL 1.3
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.3
DOS/DJGPP implements OpenGL 1.3 (new in Mesa 4.0.2)
GGI implements OpenGL 1.3
BeOS needs updating
Allegro needs updating
D3D needs updating
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/4.1
0,0 → 1,307
 
Mesa 4.1 release notes
 
October 29, 2002
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Even numbered versions (such as 4.0) designate stable releases.
Odd numbered versions (such as 4.1) designate new developmental releases.
 
 
New Features in Mesa 4.1
------------------------
 
New extensions. Docs at http://oss.sgi.com/projects/ogl-sample/registry/
 
GL_NV_vertex_program
 
NVIDIA's vertex programming extension
 
GL_NV_vertex_program1_1
 
A few features built on top of GL_NV_vertex_program
 
GL_ARB_window_pos
 
This is the ARB-approved version of GL_MESA_window_pos
 
GL_ARB_depth_texture
 
This is the ARB-approved version of GL_SGIX_depth_texture.
It allows depth (Z buffer) data to be stored in textures.
This is used by GL_ARB_shadow
 
GL_ARB_shadow
 
Shadow mapping with depth textures.
This is the ARB-approved version of GL_SGIX_shadow.
 
GL_ARB_shadow_ambient
 
Allows one to specify the luminance of shadowed pixels.
This is the ARB-approved version of GL_SGIX_shadow_ambient.
 
GL_EXT_shadow_funcs
 
Extends the set of GL_ARB_shadow texture comparision functions to
include all eight of standard OpenGL dept-test functions.
 
GL_ARB_point_parameters
 
This is basically the same as GL_EXT_point_parameters.
 
GL_ARB_texture_env_crossbar
 
Allows any texture combine stage to reference any texture source unit.
 
GL_NV_point_sprite
 
For rendering points as textured quads. Useful for particle effects.
 
GL_NV_texture_rectangle (new in 4.0.4 actually)
 
Allows one to use textures with sizes that are not powers of two.
Note that mipmapping and several texture wrap modes are not allowed.
 
GL_EXT_multi_draw_arrays
 
Allows arrays of vertex arrays to be rendered with one call.
 
GL_EXT_stencil_two_side
 
Separate stencil modes for front and back-facing polygons.
 
GLX_SGIX_fbconfig & GLX_SGIX_pbuffer
 
Off-screen rendering support.
 
GL_ATI_texture_mirror_once
 
Adds two new texture wrap modes: GL_MIRROR_CLAMP_ATI and
GL_MIRROR_CLAMP_TO_EDGE_ATI.
 
 
 
Device Driver Status
--------------------
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.3
OSMesa (off-screen) implements OpenGL 1.3
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.3
DOS/DJGPP implements OpenGL 1.3
GGI implements OpenGL 1.3
BeOS needs updating (underway)
Allegro needs updating
D3D needs updating
DOS needs updating
 
 
 
New features in GLUT
--------------------
 
1. Frames per second printing
 
GLUT now looks for an environment variable called "GLUT_FPS". If it's
set, GLUT will print out a frames/second statistic to stderr when
glutSwapBuffers() is called. By default, frames/second is computed
and displayed once every 5 seconds. You can specify a different
interval (in milliseconds) when you set the env var. For example
'export GLUT_FPS=1000' or 'setenv GLUT_FPS 1000' will set the interval
to one second.
 
NOTE: the demo or application must call the glutInit() function for
this to work. Otherwise, the env var will be ignored.
 
Finally, this feature may not be reliable in multi-window programs.
 
 
2. glutGetProcAddress() function
 
The new function:
 
void *glutGetProcAddress(const char *procName)
 
is a wrapper for glXGetProcAddressARB() and wglGetProcAddress(). It
lets you dynamically get the address of an OpenGL function at runtime.
The GLUT_API_VERSION has been bumped to 5, but I haven't bumped the
GLUT version number from 3.7 since that's probably Mark Kilgard's role.
 
This function should probably also be able to return the address of
GLUT functions themselves, but it doesn't do that yet.
 
 
 
XXX Things To Do Yet XXXX
-------------------------
 
isosurf with vertex program exhibits some missing triangles (probably
when recycling the vertex buffer for long prims).
 
 
 
Porting Info
------------
 
If you're porting a DRI or other driver from Mesa 4.0.x to Mesa 4.1 here
are some things to change:
 
1. ctx->Texture._ReallyEnabled is obsolete.
 
Since there are now 5 texture targets (1D, 2D, 3D, cube and rect) that
left room for only 6 units (6*5 < 32) in this field.
This field is being replaced by ctx->Texture._EnabledUnits which has one
bit per texture unit. If the bit k of _EnabledUnits is set, that means
ctx->Texture.Unit[k]._ReallyEnabled is non-zero. You'll have to look at
ctx->Texture.Unit[k]._ReallyEnabled to learn if the 1D, 2D, 3D, cube or
rect texture is enabled for unit k.
 
This also means that the constants TEXTURE1_*, TEXTURE2_*, etc are
obsolete.
 
The tokens TEXTURE0_* have been replaced as well (since there's no
significance to the "0" part:
 
old token new token
TEXTURE0_1D TEXTURE_1D_BIT
TEXTURE0_2D TEXTURE_2D_BIT
TEXTURE0_3D TEXTURE_3D_BIT
TEXTURE0_CUBE TEXTURE_CUBE_BIT
<none> TEXTURE_RECT_BIT
 
These tokens are only used for the ctx->Texture.Unit[i].Enabled and
ctx->Texture.Unit[i]._ReallyEnabled fields. Exactly 0 or 1 bits will
be set in _ReallyEnabled at any time!
 
Q: "What's the purpose of Unit[i].Enabled vs Unit[i]._ReallyEnabled?"
A: The user can enable GL_TEXTURE_1D, GL_TEXTURE_2D, etc for any
texure unit all at once (an unusual thing to do).
OpenGL defines priorities that basically say GL_TEXTURE_2D has
higher priority than GL_TEXTURE_1D, etc. Also, just because a
texture target is enabled by the user doesn't mean we'll actually
use that texture! If a texture object is incomplete (missing mip-
map levels, etc) it's as if texturing is disabled for that target.
The _ReallyEnabled field will have a bit set ONLY if the texture
target is enabled and complete. This spares the driver writer from
examining a _lot_ of GL state to determine which texture target is
to be used.
 
 
2. Tnl tokens changes
 
During the implementation of GL_NV_vertex_program some of the vertex
buffer code was changed. Specifically, the VERT_* bits defined in
tnl/t_context.h have been renamed to better match the conventions of
GL_NV_vertex_program. The old names are still present but obsolete.
Drivers should use the newer names.
 
For example: VERT_RGBA is now VERT_BIT_COLOR0 and
VERT_SPEC_RGB is now VERT_BIT_COLOR1.
 
 
 
3. Read/Draw Buffer changes
 
The business of setting the current read/draw buffers in Mesa 4.0.x
was complicated. It's much simpler now in Mesa 4.1.
 
Here are the changes:
 
- Renamed ctx->Color.DrawDestMask to ctx->Color._DrawDestMask
- Removed ctx->Color.DriverDrawBuffer
- Removed ctx->Pixel.DriverReadBuffer
- Removed ctx->Color.MultiDrawBuffer
- Removed ctx->Driver.SetDrawBuffer()
- Removed swrast->Driver.SetReadBuffer().
- Added ctx->Color._DrawDestMask - a bitmask of FRONT/BACK_LEFT/RIGHT_BIT
values to indicate the current draw buffers.
- Added ctx->Pixel._ReadSrcMask to indicate the source for pixel reading.
The value is _one_ of the FRONT/BACK_LEFT/RIGHT_BIT values.
- Added ctx->Driver.DrawBuffer() and ctx->Driver.ReadBuffer().
These functions exactly correspond to glDrawBuffer and glReadBuffer calls.
Many drivers will set ctx->Driver.DrawBuffer = _swrast_DrawBuffer and
leave ctx->Draw.ReadBuffer NULL.
DRI drivers should implement their own function for ctx->Driver.DrawBuffer
and use it to set the current hardware drawing buffer. You'll probably
also want to check for GL_FRONT_AND_BACK mode and fall back to software.
Call _swrast_DrawBuffer() too, to update the swrast state.
- Added swrast->Driver.SetBuffer().
This function should be implemented by all device drivers that use swrast.
Mesa will call it to specify the buffer to use for span reading AND
writing and point/line/triangle rendering.
There should be no confusion between current read or draw buffer anymore.
- Added swrast->CurrentBuffer to indicate which color buffer to read/draw.
Will be FRONT_LEFT_BIT, BACK_LEFT_BIT, FRONT_RIGHT_BIT or BACK_RIGHT_BIT.
This value is usually passed to swrast->Driver.SetBuffer().
 
 
4. _mesa_create_context() changes. This function now takes a pointer to
a __GLimports object. The __GLimports structure contains function
pointers to system functions like fprintf(), malloc(), etc.
The _mesa_init_default_imports() function can be used to initialize
a __GLimports object. Most device drivers (like the DRI drivers)
should use this.
 
 
5. In tnl's struct vertex_buffer, the field "ProjectedClipCoords"
has been replaced by "NdcPtr" to better match the OpenGL spec's
terminology.
 
 
6. Since GL_EXT_stencil_two_side has been implemented, many of the
ctx->Stencil fields are now 2-element arrays. For example,
"GLenum Ref" is now "GLenum Ref[2]" The [0] elements are the front-face
values and the [1] elements are the back-face values.
ctx->Stencil.ActiveFace is 0 or 1 to indicate the current face for
the glStencilOp/Func/Mask() functions.
ctx->Stencil.TestTwoSide controls whether or not 1 or 2-sided stenciling
is enabled.
 
 
7. Removed ctx->Polygon._OffsetAny. Removed ctx->Polygon.OffsetMRD.
 
 
8. GLfloat / GLchan changes:
 
- Changed ctx->Driver.ClearColor() to take GLfloat[4] instead of GLchan[4].
ctx->Color.ClearColor is now GLfloat[4] too.
- Changed ctx->Driver.AlphaRef() to take GLfloat instead of GLchan.
- ctx->Color.AlphaRef is now GLfloat.
- texObj->BorderColor is now GLfloat[4]. texObj->_BorderChan is GLchan[4].
 
This is part of an effort to remove all GLchan types from core Mesa so
that someday we can support 8, 16 and 32-bit color channels dynamically
at runtime, instead of at compile-time.
 
 
9. GLboolean ctx->Tranform.ClipEnabled[MAX_CLIP_PLANES] has been replaced
by GLuint ctx->Transform.ClipPlanesEnabled. The later is a bitfield.
 
 
10. There's a new matrix_stack type in mtypes.h used for the Modelview,
Projection, Color and Texcoord matrix stacks.
 
 
11. The ctx->Current.* fields have changed a lot. Now, there's a
ctx->Current.Attrib[] array for all vertex attributes which matches
the NV vertex program conventions.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/5.0
0,0 → 1,84
 
Mesa 5.0 release notes
 
November 13, 2002
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0) designate stable releases.
Odd-numbered versions (such as 4.1) designate new developmental releases.
 
Mesa 5.0 is basically just a stabilization of Mesa 4.1. To see a list of
bug fixes, etc. see the VERSIONS file.
 
 
 
New Features in Mesa 5.0
------------------------
 
Mesa 5.0 supports OpenGL 1.4. Note Mesa's versioning convention:
 
OpenGL Version Mesa Version
------------------------------
1.0 1.x
1.1 2.x
1.2 3.x
1.3 4.x
1.4 5.x
 
OpenGL 1.4 (and Mesa 5.0) incorporates the following OpenGL extensions 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_SGIS_generate_mipmap
 
 
 
Device Driver Status
--------------------
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.4
OSMesa (off-screen) implements OpenGL 1.4
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.4
DOS/DJGPP implements OpenGL 1.3
GGI implements OpenGL 1.3
DOS implements OpenGL 1.4
BeOS needs updating (underway)
Allegro needs updating
D3D needs updating
 
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/5.0.1
0,0 → 1,45
 
Mesa 5.0.1 release notes
 
March 30, 2003
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0.x) designate stable releases.
Odd-numbered versions (such as 4.1.x) designate new developmental releases.
 
Mesa 5.0.1 just fixes bugs found since the 5.0 release. See the VERSIONS
file for details.
 
 
Device Driver Status
--------------------
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.4
OSMesa (off-screen) implements OpenGL 1.4
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.4
DJGPP implements OpenGL 1.4
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.4
Allegro needs updating
D3D needs updating
 
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/5.0.2
0,0 → 1,45
 
Mesa 5.0.2 release notes
 
September 5, 2003
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0.x) designate stable releases.
Odd-numbered versions (such as 4.1.x) designate new developmental releases.
 
Mesa 5.0.2 just fixes bugs found since the 5.0.1 release. See the VERSIONS
file for details.
 
 
Device Driver Status
--------------------
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.4
OSMesa (off-screen) implements OpenGL 1.4
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.4
DJGPP implements OpenGL 1.4
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.4
Allegro needs updating
D3D needs updating
 
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/5.1
0,0 → 1,279
 
Mesa 5.1 release notes
 
December 17, 2003
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0) designate stable releases.
Odd-numbered versions (such as 5.1) designate new developmental releases.
 
 
Bug fixes
---------
See the VERSIONS file for a list of bugs fixed in this release.
 
 
 
New Features in Mesa 5.1
------------------------
 
GL_ARB_vertex_program / GL_ARB_fragment_program
Michal Krol and Karl Rasche implemented these extensions. Thanks!
Be aware that there may be some rough edges and lurking bugs.
 
GL_ATI_texture_env_combine3 extension
This adds a few new texture combine modes.
Contributed by Ian Romanick.
 
GL_SGI_texture_color_table
Adds a color table lookup to the RGBA texture path. There's a separate
color table for each texture unit.
Contributed by Eric Plante.
 
GL_NV_fragment_program
NVIDIA's fragment-level programming feature.
Possible lurking bugs:
- the DDX and DDY commands aren't fully tested
- there may be bugs in the parser
- the TEX and TXP instructions both do perspective correction
- the pack/unpack instructions may not be correct
 
GL_EXT_depth_bounds_test
This extension adds a scissor-like test for the Z axis. It's used to
optimize stencil-volume shadow algorithms.
 
GL_NV_light_max_exponent
Lifts the 128 limit for max light exponent.
 
GL_EXT_texture_rectangle
Identical to GL_NV_texture_rectangle
 
GL_ARB_occlusion_query
Useful for visibility-based culling.
 
GL_ARB_texture_non_power_of_two
Removes the restriction that texture dimensions must be powers of two.
 
GL_ARB_vertex_buffer_object
Allows server-side vertex arrays, optimized host/card data transfers, etc.
 
GL_ARB_point_sprite
ARB-approved version of GL_NV_point_sprite. Basically allows textures
to be applied to points.
 
GL_IBM_multimode_draw_arrays
Allows multiple vertex arrays to be drawn with one call, including arrays
of different types of primitives.
 
GL_SUN_multi_draw_arrays
An alias for GL_EXT_multi_draw_arrays, standard in OpenGL 1.4.
 
Faster glDrawPixels / glCopyPixels in X11 driver
If your X screen is 32bpp, glDrawPixels to the front color buffer will
be accelerated (via XPutImage()) if the image format is GL_BGRA and the
type is GL_UNSIGNED_BYTE. No raster operations, such as depth test,
blend, fog, etc. can be enabled.
 
If your X screen is 16bpp, glDrawPixels to the front color buffer will
be accelerated (via XPutImage()) if the image format is GL_RGB and the
type is GL_UNSIGNED_SHORT_5_6_5. No raster operations, such as depth
test, blend, fog, etc. can be enabled.
 
glCopyPixels() calls for the front color buffer will be accelerated
(via XCopyArea()) if no raster operations, such as depth test, blend,
fog, pixel zoom, etc. are enabled.
 
The speed-up over typical software rendering is a factor of 10 for
glDrawPixels and 100 for glCopyPixels.
 
 
With the addition of GL_ARB_occlusion_query, GL_ARB_vertex_buffer_object,
GL_ARB_texture_non_power_of_two and GL_EXT_shadow_funcs, Mesa 5.1 supports
all the new features of OpenGL 1.5. Mesa 6.0 (the next stable release)
will advertise GL_VERSION = "1.5".
 
 
Vertex/Fragment program debugger
--------------------------------
 
GL_MESA_program_debug is an experimental extension to support
interactive debugging of vertex and fragment programs. See the
docs/specs/OLD/MESA_program_debug.spec file for details.
 
The bulk of the vertex/fragment program debugger is implemented
outside of Mesa. The GL_MESA_program_debug extension just has minimal
hooks for stopping running programs and inspecting programs.
 
The progs/tests/debugger.c (only in CVS) program is an example of how
the extension can be used. Presently, the debugger code and demo code
is in the same file. Eventually the debugger code should be moved
into a reusable module.
 
As it is now, the demo lets you set breakpoings in vertex/fragment
programs, single step, and print intermediate register values. It's
basically just a proof of concept.
 
 
 
Directory tree reorganization
-----------------------------
 
The directory structure for Mesa has been overhauled to improve its layout.
All source code for Mesa, GLU, GLUT, etc is now under the src/ directory
in appropriate subdirectories.
 
The Mesa source code and drivers has been reorganized under src/mesa/.
 
All demonstration programs and tests are now in subdirectories under progs/.
 
 
 
Build System Changes
--------------------
 
The GNU automake/autoconf support has been removed. As it was, it seldom
worked on anything but Linux. The Mesa developers aren't big fans of
automake/autoconf/libtool and didn't have the time to maintain it.
If someone wants to contribute new automake/autoconf support (and is
willing to maintain it), it may be re-incorporated into Mesa, subject
to some requirements.
 
The "old style" makefile system has been updated:
1. Make-config has been trimmed down to fewer, modern configurations.
2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
script that works on all sorts of systems. There are probably some
bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
Improvements/contributes are greatly appreciated.
3. The Makefile.X11 files have been cleaned up in various ways
 
 
 
Source File Changes
-------------------
 
The mmath.[ch] files are obsolete. Their contents have been moved
into the imports.[ch] and macros.[ch] files.
 
The files related to vertex and fragment programming have changed.
Old files:
vpexec.[ch]
vpparse.[ch]
vpstate.[ch]
New files:
program.[ch] - generic ARB/NV program code
arbprogram.[ch] - ARB program API functions
arbfragparse.[ch] - ARB fragment program parsing
arbvertparse.[ch] - ARB vertex program parsing
arbparse.[ch] - ARB vertex/fragment parsing
arbparse_syn.h - vertex/fragment program syntax
nvprogram.[ch] - NV program API functions
nvvertprog.h - NV vertex program definitions
nvfragprog.h - NV fragment program definitions
nvvertparse.[ch] - NV vertex program parser
nvfragparse.[ch] - NV fragment program parser
nvvertexec.[ch] - NV vertex program execution
swrast/s_nvfragprog.[ch] - NV fragment program execution
 
The files related to per-vertex handling have changed.
Old files:
tnl/t_eval_api.c - old per-vertex code
tnl/t_imm_alloc.c - old per-vertex code
tnl/t_imm_api.c - old per-vertex code
tnl/t_imm_debug.c - old per-vertex code
tnl/t_imm_dlist.c - old per-vertex code
tnl/t_imm_elt.c - old per-vertex code
tnl/t_imm_eval.c - old per-vertex code
tnl/t_imm_exec.c - old per-vertex code
tnl/t_imm_fixup.c - old per-vertex code
tnl/t_vtx_sse.c - old per-vertex code
tnl/t_vtx_x86.c - old per-vertex code
New files:
tnl/t_save_api.c - new per-vertex code
tnl/t_save_loopback.c - new per-vertex code
tnl/t_save_playback.c - new per-vertex code
tnl/t_vtx_eval.c - old per-vertex code
 
Other new files:
bufferobj.[ch] - GL_ARB_vertex_buffer_object functions
version.h - defines the Mesa version info
 
Other removed files:
swrast/s_histogram.[ch] - moved into src/histogram.c
 
 
 
Other Changes
-------------
 
The ctx->Driver.CreateTexture function has been removed - it wasn't used.
 
New device driver hook functions:
NewTextureObject - used to allocate struct gl_texture_objects
NewTextureImage - used to allocate struct gl_texture_images
 
New ctx->Texture._EnabledCoordUnits field:
With the addition of GL_NV_fragment_program we may need to interpolate
various sets of texture coordinates even when the corresponding texture
unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get
called but we still may have to interpolate texture coordinates across
triangles so that the fragment program will get them.
This new field indicates which sets of texture coordinates are needed.
If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
same bit MUST be set in ctx->Texture._EnabledCoordUnits.
 
The ctx->_TriangleCaps field is deprecated.
Instead of testing the DD_* bits in _TriangleCaps, you should instead
directly test the relevant state variables, or use one of the helper
functions like NEED_SECONDARY_COLOR() at the bottom of context.h
While testing _TriangleCaps bits was fast, it was kludgey, and setting
the bits in the first place could be error prone.
 
New vertex processing code.
The code behind glBegin, glEnd, glVertex, glNormal, etc. has been
totally rewritten. It's a cleaner implementation now and should use
less memory. (Keith)
 
 
 
To Do
-----
Add screen-awareness to fakeglx.c
 
 
 
 
Device Driver Status
--------------------
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.4
OSMesa (off-screen) implements OpenGL 1.4
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.4
DJGPP implements OpenGL 1.4
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.4
Allegro needs updating
D3D needs updating
 
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.0
0,0 → 1,86
 
Mesa 6.0 release notes
 
January 16, 2004
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 5.1) designate new developmental releases.
Even numbered versions (such as 6.0) designate stable releases.
 
Mesa version 6.0 signifies two things:
 
1. A stabilization of the 5.1 development release
2. Implementation of the OpenGL 1.5 specification. When you query
glGetString(GL_VERSION) "1.5" will be returned (as long as the
driver supports all the required features).
 
 
Note that the Mesa major version number is incremented with the OpenGL
minor version number:
 
Mesa 1.x == OpenGL 1.0
Mesa 2.x == OpenGL 1.1
Mesa 3.x == OpenGL 1.2
Mesa 4.x == OpenGL 1.3
Mesa 5.x == OpenGL 1.4
Mesa 6.x == OpenGL 1.5
 
 
 
New Features
------------
 
Mesa 5.1 already had all the new features of OpenGL 1.5, implemented as
extensions. These extensions were simply promoted to standard features:
 
GL_ARB_occlusion_query extension
GL_ARB_texture_non_power_of_two extension
GL_ARB_vertex_buffer_object extension
GL_EXT_shadow_funcs
 
 
 
Device Drivers
--------------
 
Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on
the device driver. For example, if the driver enables all the ARB
extensions which are part of OpenGL 1.3 then glGetString(GL_VERSION)
will return "1.3". Otherwise, it'll return "1.2".
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
 
 
 
 
Other Changes
-------------
 
See the VERSIONS file for more details about bug fixes, etc. in Mesa 6.0.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.0.1
0,0 → 1,49
 
Mesa 6.0.1 release notes
 
April 2, 2003
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 6.0.x) designate stable releases.
Odd-numbered versions (such as 6.1.x) designate new developmental releases.
 
Mesa 6.0.1 just fixes bugs found since the 6.0 release. See the VERSIONS
file for details.
 
 
 
Device Drivers
--------------
 
Mesa advertises itself as supporting OpenGL 1.2, 1.3, 1.4 or 1.5
depending on the device driver's capabilities. For example, if the
driver enables all the ARB extensions which are part of OpenGL 1.5
then glGetString(GL_VERSION) will return "1.5". Otherwise, it'll
return "1.4" or the next lower version that implements all required
functionality.
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
FX (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.1
0,0 → 1,111
 
Mesa 6.1 release notes
 
August 18, 2004
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.1) designate new developmental releases.
Even numbered versions (such as 6.0) designate stable releases.
 
 
New Features
------------
 
Half-precision floating point (GLhalf) pixel formats are supported
in Mesa, but the feature isn't exposed yet since the ARB extension
hasn't been finalized yet.
 
 
Texture image handling
----------------------
 
The code which implements image conversion, pixel transfer ops, etc
for glTexImage commands has been rewritten.
 
Now the gl_texture_format struct has a new StoreImage function
pointer. Each texture format must implement this function. The
function is totally responsible for converting the user's texture
image into the specific format. A few helper functions makes this
relatively simple.
 
Overall, the code is much simpler, cleaner and easier to work with
now. Adding new texture formats is straight-forward and there's no
longer any distinction between "hardware" and "software" formats.
 
Finally, the code for compressed texture images has been reorganized
as well.
 
Removed files:
texutil.c
texutil.h
texutil_tmp.h
 
New files:
texcompress_s3tc.c
texcompress_fxt1.c
 
 
 
Driver / context changes
------------------------
 
The _mesa_create_context() and _mesa_initialize_context() function
parameters have changed. They now take a pointer to a struct
dd_function_table. Drivers can initialize this table by calling
_mesa_init_driver_functions(). Drivers should then plug in the special
functions they implement. In particular, the ctx->Driver.NewTextureObject
pointer _must_ be set so that the default texture objects created in
_mesa_create/initialize_context() are correctly built.
 
The _mesa_init_driver_functions() function allows a lot of redundant code
to be removed from the device drivers (such as initializing
ctx->Driver.Accum to point to _swrast_Accum). Adding new functions to
the dd_function_table can be done with less hassle since the pointer can
be initialized in _mesa_init_driver_functions() rather than in _all_ the
drivers.
 
 
Device Drivers
--------------
 
Mesa advertises itself as supporting OpenGL 1.2, 1.3, 1.4 or 1.5
depending on the device driver's capabilities. For example, if the
driver enables all the ARB extensions which are part of OpenGL 1.5
then glGetString(GL_VERSION) will return "1.5". Otherwise, it'll
return "1.4" or the next lower version that implements all required
functionality.
 
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
 
 
 
Other Changes
-------------
 
See the VERSIONS file for more details about bug fixes, etc. in Mesa 6.1.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.2
0,0 → 1,51
 
Mesa 6.2 release notes
 
October 2, 2004
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.1) designate new developmental releases.
Even numbered versions (such as 6.2) designate stable releases.
 
 
This release primarily just fixes bugs found in the Mesa 6.1 release.
See the VERSIONS file for details.
 
 
ToDo: PBO for polygon stipple, convolution filter, etc.
 
 
 
Known Issues
------------
 
The GL_EXT_pixel_buffer_object extension isn't fully implemented for
functions like glPolygonStipple, glConvolutionFilter, glColorTable,
etc. The important functions like glRead/DrawPixels, glTex[Sub]Image,
and glBitmap work with PBOs.
 
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.2.1
0,0 → 1,49
 
Mesa 6.2.1 release notes
 
December 9, 2004
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.1) designate new developmental releases.
Even numbered versions (such as 6.2.x) designate stable releases.
 
 
This release primarily just fixes bugs found in the Mesa 6.2 release.
See the VERSIONS file for details.
 
 
 
Known Issues
------------
 
The GL_EXT_pixel_buffer_object extension isn't fully implemented for
functions like glPolygonStipple, glConvolutionFilter, glColorTable,
etc. The important functions like glRead/DrawPixels, glTex[Sub]Image,
and glBitmap work with PBOs. This has been fixed for Mesa 6.3.
 
 
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.3
0,0 → 1,114
 
Mesa 6.3 release notes
 
July 20, 2005
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.2) designate stable releases.
 
 
 
New Features
------------
 
GL_ARB_draw_buffers - allows a fragment program to write to a number of
separate color buffers, instead of just one.
 
GL_OES_read_format - allows one to query the fastest glReadPixels format
and datatype.
 
GL_ARB_pixel_buffer_object - buffer objects for pixel read/write functions.
 
GL_EXT_framebuffer_object - allows render-to-texture and provides a
window-system indepedent Pbuffer facility.
The Mesa CVS tree contains a couple tests of this extension.
 
DirectFB driver, contributed by Claudio Ciccani. See docs/README.directfb
for details.
 
 
 
Vertex/Fragment Program PRINT Instruction
-----------------------------------------
 
The GL_NV_vertex_program and GL_NV_fragment_program languages have been
extended with a PRINT instruction.
 
 
 
glDeleteTextures(), glDeletePrograms() and glDeleteBuffers() Changed
--------------------------------------------------------------------
 
To match the behaviour of other OpenGL implementations, glDeleteTextures,
glDeletePrograms and glDeleteBuffers have been modified so that:
 
* The named texture/program/buffer ID is immediately freed for re-use.
 
* The actual texture object, program or buffers isn't really deleted until
it is no longer bound in any rendering context (the reference count
is zero).
 
Previously, the texture/program/buffer ID wasn't freed until the object
was really deleted.
 
Note that textures, programs and buffers can be shared by several rendering
contexts so they can't be deleted until they're unbound in _all_ contexts.
 
 
 
GL_EXT_framebuffer_object changes
---------------------------------
 
Implementing this extension involved changing a lot of code (for the better).
 
The gl_framebuffer object now a collection of gl_renderbuffer objects.
Renderbuffers may store colors, stencil indices, or depth values. The
gl_framebuffer and gl_renderbuffer types are object-oriented in design.
 
All the old RGB, color index, stencil and depth-related span functions for
reading/writing pixels from/to buffers has changed. Now, all pixels are
read/written through a set of common renderbuffer functions (methods).
 
Most device drivers have been updated for these changes, but some haven't.
 
 
 
To Do (someday) items
---------------------
Switch to freeglut
Increase MAX_DRAWBUFFERS
driver hooks for BeginQuery/EndQuery
 
 
 
Miscellaneous
-------------
 
The main/get.c file is now generated with a Python script (get_gen.py).
 
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.3.1
0,0 → 1,48
 
Mesa 6.3.1 release notes
 
July XX, 2005
 
PLEASE READ!!!!
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.2) designate stable releases.
 
 
 
DRI drivers
-----------
 
This release includes the DRI drivers and GLX code for hardware rendering.
 
 
 
Bug fixes
---------
 
Bugs fixed in 6.3.1 are listed in the VERSIONS file.
 
 
 
Driver Status
---------------------- ---------------------
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.3.2
0,0 → 1,36
 
Mesa 6.3.2 Release Notes
 
August 19, 2005
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.2) designate stable releases.
 
 
6.3.2 is primarily a bug-fix release. See the VERSIONS file for details.
 
 
 
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.4
0,0 → 1,49
 
Mesa 6.4 Release Notes
 
October 24, 2005
 
 
 
Introduction
------------
 
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.3) designate new developmental releases.
Even numbered versions (such as 6.4) designate stable releases.
 
 
6.4 is a bug-fix release. See the VERSIONS file for details.
 
 
 
GLUT tarball
------------
 
Starting with 6.4, the GLUT library sources are distributed in a separate
tarball. This was done at the request of Linux distro vendors who prefer
to use freeglut.
 
 
 
 
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Windows/Win32 implements OpenGL 1.5
Glide (3dfx Voodoo1/2) requires updates
SVGA requires updates
DJGPP requires updates
GGI requires updates
BeOS requires updates
Allegro requires updates
D3D requires updates
 
The drivers which require updates mostly need to be updated to work
with the new gl_renderbuffer / gl_framebuffer infrastructure introduced
in Mesa 6.3.
 
 
----------------------------------------------------------------------
/contrib/sdk/sources/Mesa/docs/relnotes/6.4.1.html
0,0 → 1,75
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 6.4.1 / November 29, 2006</h1>
 
<p>
Mesa 6.4.1 is a stable, bug-fix release.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
698ceb574cf882b0226761f5913c0da9 MesaLib-6.4.1.tar.gz
ea148c828ec6f645526451db1b8556f1 MesaLib-6.4.1.tar.bz2
42e93279468975ed2bf3111b8721e5d9 MesaLib-6.4.1.zip
e3b0d50807fd2bdcd1a95aaddd786f13 MesaDemos-6.4.1.tar.gz
99df1fdcb98d391666b476ca6f1dda8a MesaDemos-6.4.1.tar.bz2
b999d2c6d92fb4b7740a3dbd889348e3 MesaDemos-6.4.1.zip
eadfe01fe5ddfb1eb8227dd567b31635 MesaGLUT-6.4.1.tar.gz
bd003bb4f981a4f91dee4c38644d4f3f MesaGLUT-6.4.1.tar.bz2
71c401c037088bf688a88afdaeb3420f MesaGLUT-6.4.1.zip
</pre>
 
 
<h2>Bug fixes</h2>
<ul>
<li>redefining a vertex program string didn't take effect in TNL module
<li>fixed occasional segfault upon vertex/fragment parsing error
<li>vertex program LIT instruction didn't handle 0^0=1 correctly
<li>fragment program fog option didn't work with glDrawPixels, glBitmap
<li>USE_MGL_NAMESPACE didn't work for x86-64
<li>OSMesa demos were missing from previous release tarballs
<li>fixed problem with float-&gt;ushort conversion in glClear (bug 4992)
<li>popping of GL_EYE_PLANE texgen state was broken (bug 4996)
<li>popping of GL_SPOT_DIRECTION light state was broken (bug 5005)
<li>fixed occasional triangle color interpolation problem on VMS
<li>work around invalid free() call (bug 5131)
<li>fixed BSD X server compilation problem by including stdint.h
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Windows/Win32 implements OpenGL 1.5
Glide (3dfx Voodoo1/2) requires updates
SVGA requires updates
DJGPP requires updates
GGI requires updates
BeOS requires updates
Allegro requires updates
D3D requires updates
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/6.4.2.html
0,0 → 1,82
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 6.4.2 / February 2, 2006</h1>
 
<p>
Mesa 6.4.2 is a stable, bug-fix release.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
cb0d745d520fa7c2bb9178058b763544 MesaLib-6.4.2.tar.gz
7674d2c603b5834259e4e5a820cefd5b MesaLib-6.4.2.tar.bz2
d224e1325b33ff71a0f3893fc6b4d594 MesaLib-6.4.2.zip
d4b345d4588fc750cd3d34f3ac26673e MesaDemos-6.4.2.tar.gz
9cae1ab874af533ce356bd7dfe2e0bb0 MesaDemos-6.4.2.tar.bz2
2da6e1d1245e441d27813595c6ba50de MesaDemos-6.4.2.zip
84427d18c3453f0ea52388eeba7169b5 MesaGLUT-6.4.2.tar.gz
b157ba8ad1ea63260cf5339132e7aac6 MesaGLUT-6.4.2.tar.bz2
fe1523744fc05edc3811dfc6a1bf4181 MesaGLUT-6.4.2.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>added OSMesaColorClamp() function/feature
<li>added wglGetExtensionStringARB() function
</ul>
 
<h2>Changes</h2>
<ul>
<li>GLUT tarball
<br>
Starting with 6.4, the GLUT library sources are distributed in a separate
tarball. This was done at the request of Linux distro vendors who prefer
to use freeglut.
</ul>
 
<h2>Bug fixes</h2>
<ul>
<li>fixed some problems when building on Windows
<li>GLw header files weren't installed by installmesa script (bug 5396)
<li>GL/glfbdev.h file was missing from tarballs
<li>fixed TNL initialization bug which could lead to crash (bug 5791)
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Windows/Win32 implements OpenGL 1.5
Glide (3dfx Voodoo1/2) requires updates
SVGA requires updates
DJGPP requires updates
GGI requires updates
BeOS requires updates
Allegro requires updates
D3D requires updates
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/6.4.html
0,0 → 1,97
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 6.4 / October 24, 2005</h1>
 
<p>
Mesa 6.4 is a stable, bug-fix release.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
1cce0c1eb4fd15e9dfe837a1ce0c9812 MesaLib-6.4.tar.gz
85a84e47a3f718f752f306b9e0954ef6 MesaLib-6.4.tar.bz2
b976fea4f3ee06354c53f91b6e3f2ffc MesaLib-6.4.zip
d8734f2c69bcf7ef9f5ae454a85743ba MesaDemos-6.4.tar.gz
1a8c4d4fc699233f5fdb902b8753099e MesaDemos-6.4.tar.bz2
607ab7c7a7de0cc5febbdde2bfa03098 MesaDemos-6.4.zip
3260156f66174322a092be0767962d34 MesaGLUT-6.4.tar.gz
0465d053f83775f44a12dec4050dfd78 MesaGLUT-6.4.tar.bz2
02abfcdcdf72ba938ae00f6e3b70fbe0 MesaGLUT-6.4.zip
</pre>
 
 
<h2>New</h2>
<ul>
<li>Added a fast XOR line drawing function in Xlib driver
<li>Added support for GL_ARB_texture_mirrored_repeat to savage driver (supported only on Savage4 hardware).
</ul>
 
<h2>Changes</h2>
<ul>
<li>Mesa now packaged in three parts: Library, Demos and GLUT
</ul>
 
<h2>Bug fixes</h2>
<ul>
<li>GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig
<li>Some files were present multiple times in the 6.3.2 tarballs
<li>r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207)
<li>glxgears_fbconfig demo didn't work (bug 4237)
<li>fixed bug when bilinear sampling 2d textures with borders
<li>glXCreatePbuffer() could segfault instead of returning 0 (bug 4235)
<li>fixed undefined frexp and rand in X.org libGLcore.a (bug 4242)
<li>fixed a few problems with proxy color tables (bug 4270)
<li>fixed precision problem in Z clearing (bug 4395)
<li>glBitmap, glDraw/CopyPixels mistakenly generated selection hits
<li>fixed potential segfault caused by reading pixels outside
of renderbuffer bounds
<li>glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB
<li>fixed memory corruption bug involving software alpha buffers
<li>glReadPixels clipped by window bounds was sometimes broken
<li>glDraw/CopyPixels of stencil data ignored the stencil write mask
<li>glReadPixels from a texture bound to a framebuffer object didn't work
<li>glIsRender/FramebufferEXT weren't totally correct
<li>fixed a number of point size attenuation/fade bugs
<li>fixed glFogCoord bug 4729
<li>GLX encoding for transpose matrix functions was broken
<li>fixed broken fragment program KIL and SWZ instructions
<li>fragment programs that wrote result.depth.z didn't work
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa (Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Windows/Win32 implements OpenGL 1.5
Glide (3dfx Voodoo1/2) requires updates
SVGA requires updates
DJGPP requires updates
GGI requires updates
BeOS requires updates
Allegro requires updates
D3D requires updates
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/6.5.1.html
0,0 → 1,146
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 6.5.1 Release Notes / September 15, 2006</h1>
 
<p>
Mesa 6.5.1 is a 6.5 follow-on development release mostly consisting of
bug fixes.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
d9a555297319bb932a3192952d53d073 MesaLib-6.5.1.tar.gz
c46f2c6646a270911b791dd8e1c2d977 MesaLib-6.5.1.tar.bz2
939eaaff33322bfeafac784402b45f4f MesaLib-6.5.1.zip
9e4bbe83c007bfbaa67449a81cc3d36a MesaDemos-6.5.1.tar.gz
0f2794baf7a9d98b22caea9f78c6942d MesaDemos-6.5.1.tar.bz2
14c77eab9cc7a265c331abf239927c1c MesaDemos-6.5.1.zip
c5f87c23aaf4eaf1bda0d007ea98366c MesaGLUT-6.5.1.tar.gz
2525642fe7f454e3e1a1aad01359b406 MesaGLUT-6.5.1.tar.bz2
e33b165c22551e23b58ede8767378543 MesaGLUT-6.5.1.zip
</pre>
 
 
<h2>New Features</h2>
<ul>
<li>Intel i965 "broadwater" DRI driver
 
<li>GL_APPLE_vertex_array_object - allows encapsulation of a set of vertex
arrays in an object.
 
<li>GL_EXT_texture_sRGB - non-linearly mapped texture formats
 
<li>GL_EXT_gpu_program_parameters - addes a few new functions for setting
multiple vertex/fragment program parameters with one call.
<li>"engine" demo
<li>updated fbdev driver and GLUT for fbdev (Sean D'Epagnier)
<li>many updates to the DRI drivers
</ul>
 
<h2>Changes</h2>
<ul>
<li>The glVertexAttribARB functions no longer alias the conventional
vertex attributes.
<li>glxinfo program prints more info with -l option
<li>GL_FRAGMENT_PROGRAM_NV and GL_FRAGMENT_PROGRAM_ARB are now
compatible, in terms of glBindProgramARB()
<li>The GL_ARB_vertex_program attribute <code>vertex.weight</code> is now
accepted by the parser, even though the GL_ARB_vertex_blend and
GL_EXT_vertex_weighting extensions aren't supported.
Allows Warcraft to run.
</ul>
 
<h2>Bug fixes</h2>
<ul>
<li>fixed broken texture border handling for depth textures (bug 6498)
<li>removed the test for duplicated framebuffer attachments, per
version 117 of the GL_EXT_framebuffer_object specification
<li>fixed a few render-to-texture bugs, including render to depth texture
<li>clipping of lines against user-defined clip planes was broken (6512)
<li>assembly language dispatch for SPARC was broken (bug 6484)
<li>assorted compilation fixes on various Unix platforms (Dan Schikore)
<li>glPopAttrib could restore an invalid value for GL_DRAW_BUFFER
<li>assorted minor fixes for 16 and 32 bit/channel modes
<li>fixed assorted bugs in texture compression paths
<li>fixed indirect rendering vertex array crashes (bug 6863)
<li>glDrawPixels GL_INDEX_OFFSET didn't always work
<li>fixed convolution memory leak (bug 7077)
<li>rectangular depth textures didn't work
<li>invalid mode to glBegin didn't generate an error (bug 7142)
<li>'normalized' parameter to glVertexAttribPointerARB didn't work
<li>disable bogus GLX_SGI_video_sync extension in xlib driver
<li>fixed R128 driver locking bug (Martijn van Oosterhout)
<li>using evaluators with vertex programs caused crashes (bug 7564)
<li>fragment.position wasn't set correctly for point/line primitives
<li>fixed parser bug for scalar sources for GL_NV_fragment_program
<li>max fragment program length was incorrectly 128, now 1024
<li>writes to result.depth in fragment programs weren't clamped to [0,1]
<li>fixed potential dangling pointer bug in glBindProgram()
<li>fixed some memory leaks (and potential crashes) in Xlib driver
<li>fixed a number of build issues on HP-UX (Christopher Bell)
<li>accum buffer didn't work with OSMesa interface
</ul>
 
 
<h2>Internal code changes</h2>
 
<p>
A number of Mesa program-related structs were renamed.
For example <i>struct vertex_program</i> is now <i>struct gl_vertex_program</i>.
All the effected drivers have been updated.
</p>
 
<p>Ian Romanick updated the GL API dispatch code in a number of ways.
First, many old/unused extensions were removed.
Second, the static entrypoints for some extensions were removed.
This means GL function pointers will have to be used more often
(e.g. use glXGetProcAddressARB()).
</p>
 
 
<h2>To Do (someday) items</h2>
<ul>
<li>Switch to freeglut
<li>Increase MAX_DRAWBUFFERS
<li>Fix linux-glide target/driver.
<li>Fix lambda calculation for frag progs.
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/6.5.2.html
0,0 → 1,133
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 6.5.2 Release Notes / December 2, 2006</h1>
 
<p>
Mesa 6.5.2 is a 6.5 follow-on development release with a few new features
but mostly consisting of bug fixes.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
11a033b078e090b3caaeb467234fe299 MesaLib-6.5.2.tar.gz
e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2
63bf1d444fa738cca52ce1043e284021 MesaLib-6.5.2.zip
2b8f1375d16bda5f5a2304174cd5bcf7 MesaDemos-6.5.2.tar.gz
e870efe98d3a50be01ab211b9b2e25d9 MesaDemos-6.5.2.tar.bz2
d92cc6f5fee5ca75af0be04f9f4908f0 MesaDemos-6.5.2.zip
8d4d77e3a7132f4217bbc7c1ab157030 MesaGLUT-6.5.2.tar.gz
e84edbb11c69c8e408dfadd2ed08e95b MesaGLUT-6.5.2.tar.bz2
c6d7134843ed5faf11f6686ecb5d2a2e MesaGLUT-6.5.2.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>New DRI memory manager system. Currently used by the i915tex driver.
Other DRI drivers will be updated to use the new memory manager in coming
months.
<br>
To use the new driver you'll need the most recent DRM library and drivers
(version 2.2 or later) and a recent xf86-video-intel driver module from X.org.
<br>
New features resulting from this work include:
<ul>
<li>EXT_framebuffer_objects, render to texture
<li>ARB_pixel_buffer_objects
<li>Accelerated CopyTexSubimage, DrawPixels, ReadPixels, CopyPixels
<li>Accelerated texture uploads from pixel buffer objects
<li>Potentially texturing directly from the pixel buffer object (zero
copy texturing).
</ul>
<li>New Intel i965 DRI driver
<li>New <code>minstall</code> script to replace normal install program
<li>Faster fragment program execution in software
<li>Added (or fixed) support for <a href="http://www.opengl.org/registry/specs/SGI/make_current_read.txt">
GLX_SGI_make_current_read</a> to the following drivers:
<ul>
<li>radeon</li>
<li>savage</li>
<li>mga</li>
<li>tdfx</li>
</ul>
<li>Added support for ARB_occlusion_query to the tdfx driver (Ian
Romanick).</li>
</ul>
 
<h2>Bug fixes</h2>
<ul>
<li>fixed invalid memory read while rendering textured points (bug 8320)
<li>fixed problems with freebsd-dri configuration (bug 8344)
<li>Mesa's fake glxGetCurrentContext() wasn't thread-aware
<li>OPTION NV_position_invariant didn't work in NV vertex programs
<li>glDrawPixels into a user-created framebuffer object could crash Xlib driver
<li>Line clipping was broken in some circumstances
<li>fragment.fogcoord register didn't always contain the correct value
<li>RGBA logicops didn't work reliably in some DRI drivers
<li>Fixed broken RGBA LogicOps in Intel DRI drivers
<li>Fixed some fragment program bugs in Intel i915 DRI driver
<li>Fixed glGetVertexAttribfvARB bug 8883
<li>Implemented glGetUniform[fi]vARB() functions
<li>Fixed glDrawPixels(GL_COLOR_INDEX, GL_BITMAP) segfault (bug 9044)
<li>Fixed some gluBuild2DMipmaps() bugs (Greg McGarragh)
<li>Fixed broken "mgl" name mangling
<li>Indirect rending was broken for glMap* functions (bug 8899)
</ul>
 
 
<h2>Internal code changes</h2>
 
<ul>
<li>The device driver functions ResizeBuffers and GetBufferSize have been
decprecated.
<li>OpenGL 2.0 and 2.1 support is nearly done. We need to do quite a bit
more testing of the shading language functions.
</ul>
 
 
<h2>To Do (someday) items</h2>
<ul>
<li>Switch to freeglut
<li>Increase MAX_DRAWBUFFERS
<li>Fix linux-glide target/driver.
<li>Improved lambda and derivative calculation for frag progs.
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/6.5.3.html
0,0 → 1,126
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 6.5.3 Release Notes / April 27, 2007</h1>
 
<p>
Mesa 6.5.3 is a development release with many changes and new features.
Mesa 7.0 is expected to follow shortly.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
39f33ea64e34e2d5b20640b008b57649 MesaLib-6.5.3.tar.gz
46359457147c469745f24b5074a186f0 MesaLib-6.5.3.tar.bz2
a8946fa861634ce15971396f47992c41 MesaLib-6.5.3.zip
08e26948d57eaca74d02a530b2d8106e MesaDemos-6.5.3.tar.gz
8af91773ab2653fe537499676b05f2e8 MesaDemos-6.5.3.tar.bz2
783f81b171bf89b0929abc894efd25a6 MesaDemos-6.5.3.zip
9467d415388fe1ad82991fb20704b812 MesaGLUT-6.5.3.tar.gz
360843e46b7ebb6909290b023f9b26fa MesaGLUT-6.5.3.tar.bz2
7686065e5c15a30de08a1610860b6840 MesaGLUT-6.5.3.zip
</pre>
 
 
<h2>Shared library numbering</h2>
<p>
Mesa 6.5.3 supports the OpenGL 2.0/2.1 API. However, the (unix)
shared library version is still 1.5 (i.e. libGL.so.1.5.xxxxxx).
Bumping the shared library version to 2.x would cause linking problems
with existing OpenGL applications. Since OpenGL 2.x is backward
compatible with OpenGL 1.x the shared library version number doesn't
have to be incremented (which would indicate an incompatible ABI).
</p>
<p>
Other OpenGL vendors name their OpenGL 2.x libraries libGL.so.1.0.xxxxx
for the same reason.
</p>
 
 
 
<h2>New features</h2>
<ul>
<li>OpenGL 2.0 and 2.1 API support.
<li>Entirely new Shading Language code generator. See the
<a href="../shading.html">Shading Language</a> page for more information.
<li>Much faster software execution of vertex, fragment shaders.
<li>New vertex buffer object (vbo) infrastructure
<li>Updated glext.h file (version 39)
<li>Updated glxext.h file (version 19)
<li>GL_MAX_DRAWBUFFERS is now 4 (software rendering) so
"multiple render targets" are really supported.
</ul>
 
<h2>Bug fixes</h2>
<ul>
<li>Fog was errantly applied when a fragment shader was enabled (bug 9346)
<li>glPush/PopClientAttrib didn't handle VBO bindings correctly (bug 9445)
<li>With 32-bit Z buffer, the fragment Z of lines and points was sometimes wrong.
<li>GL_POST_CONVOLUTION_ALPHA_BIAS/SCALE was broken.
<li>1D convolution state could effect 2D image transfers
<li>Overlapping glCopyPixels with negative Y zoom didn't work (bug 10521)
<li>Fixed a number of framebuffer/renderbuffer reference counting bugs
<li>Fixed a few bugs in software-emulated alpha planes
<li>Assorted minor bug fixes in glCopy/DrawPixels, glPixelZoom, etc.
<li>Assorted DRI driver bug fixes.
<li>Fixed a number of bugs that prevented "depth-peeling" rendering from working.
</ul>
 
 
<h2>Internal code changes</h2>
<ul>
<li>Old array_cache module replaced by new vbo module. All geometry
rendering is now cast in the form of vertex buffer objects.
<li>Massive changes to the Shading Language compiler and related state.
<li>Vertex/fragment shaders are compiled into GPU instructions and
programs very similar to GL_ARB_vertex/fragment_program.
<li>Vertex and fragment programs are executed with the same code now.
<li>The SSE-optimized vertex program path has been removed since it didn't
support more than 12 temp registers, didn't support branching/looping, etc.
</ul>
 
 
<h2>To Do (someday) items</h2>
<ul>
<li>Switch to freeglut
<li>Fix linux-glide target/driver.
<li>Improved lambda and derivative calculation for frag progs.
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/6.5.html
0,0 → 1,138
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 6.5 Release Notes / March 31, 2006</h1>
 
<p>
Mesa 6.5 is a new development release.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
657be3b92f6dabc78a67ed9cb8d67813 MesaLib-6.5.tar.gz
61beda590bfc5b4a12e979d5f2d70d7a MesaLib-6.5.tar.bz2
19d48b872d579d4f91466060804a59ac MesaLib-6.5.zip
694ad3a7007010c7418a9c72d1cba5b7 MesaDemos-6.5.tar.gz
ab95b590dcd640726a2d89e62068c66e MesaDemos-6.5.tar.bz2
b792c303fefd87294488e2b7eab976e5 MesaDemos-6.5.zip
ac1d585483617db0c91e5c15cb5ec3a3 MesaGLUT-6.5.tar.gz
59f0bf2b2ffb67fe23ee479f9b044f31 MesaGLUT-6.5.tar.bz2
005decb2136718e22222ac1c4805cd15 MesaGLUT-6.5.zip
</pre>
 
 
 
<h2>New Features</h2>
<ul>
<li>OpenGL Shading language support
<br>
This includes the GL_ARB_shader_objects, GL_ARB_shading_language_100,
GL_ARB_vertex_shader and GL_ARB_fragment_shader extensions. Most of
the work was done by Michal Krol.
There's probably a fair number of bugs since this is a pretty large,
complicated body of code.
<br>
The OpenGL 2.0 interface to these features will be implemented in a
future version of Mesa,
 
<li>GL_EXT_timer_query
<br>
Used to measure the time of OpenGL operations at high precision.
Only supported in the software/Xlib driver at this time.
 
<li>GL_EXT_packed_depth_stencil
<br>
Defines a new GL_DEPTH_STENCIL_EXT pixel format.
 
<li>GL_EXT_framebuffer_blit
<br>
A simplified glCopyPixels-like feature for copying pixel rectangles.
 
<li>GL_ARB_half_float_pixel
<br>
Adds a new half-precision floating point format for image transfers,
such as for glDrawPixels, glReadPixels, glTexImage, etc.
</ul>
 
<h2>Changes</h2>
<ul>
<li>removed GL_HP_occlusion_test (use GL_ARB_occlusion_query instead)
<li>removed GL_SGIX/SGIS_pixel_texture extensions
</ul>
<h2>Bug fixes</h2>
<ul>
<li>fixed glxcontextmodes.c datatype problem (bug 5835)
<li>fixed aix-gcc build/install bugs (bug 5874)
<li>fixed some bugs in texture env program generation
<li>glXCopyContext() didn't handle texture object bindings properly
<li>glXCopyContext() didn't copy all lighting state
<li>fixed FreeBSD config (Pedro Giffuni)
<li>fixed some minor framebuffer object bugs
<li>replaced dprintf() with _glu_printf() in GLU (bug 6244)
<li>fixed a number of thread safety bugs/regressions
<li>fixed a number of GLU tesselator bugs (John Shell, bug 6339)
<li>paletted texturing was broken w/ floating point palettes (K. Schultz)
<li>lots of assorted framebuffer object bug fixes
</ul>
 
 
<h2>Known Issues</h2>
<ul>
<li>Rendering to depth textures will not work. Rendering to GL_DEPTH_STENCIL
textures should work.
</ul>
 
 
<h2>Driver Interface Changes</h2>
<ul>
<li>Stencil: The Driver.StencilOp/Func/Mask() functions have been replaced by
the two-sided versions: Driver.Stencil*Separate().
<li>Render-to-texture: The functions for rendering to textures have changed.
</ul>
 
 
<h2>To Do (someday) items</h2>
<ul>
<li>Switch to freeglut
<li>Increase MAX_DRAWBUFFERS
<li>Fix linux-glide target/driver.
<li>Fix lambda calculation for frag progs.
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 1.5
OSMesa (off-screen) implements OpenGL 1.5
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA implements OpenGL 1.3
Wind River UGL implements OpenGL 1.3
Windows/Win32 implements OpenGL 1.5
DJGPP implements OpenGL 1.5
GGI implements OpenGL 1.3
BeOS implements OpenGL 1.5
Allegro needs updating
D3D needs updating
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.0.1.html
0,0 → 1,108
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Mesa Release Notes</title>
<link rel="stylesheet" type="text/css" href="../mesa.css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.0.1 Release Notes / August 3, 2007</h1>
 
<p>
Mesa 7.0.1 is a stable release with bug fixes since version 7.0.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
db55141a44b902fcc61d9265b7862c06 MesaLib-7.0.1.tar.gz
c056abd763e899114bf745c9eedbf9ad MesaLib-7.0.1.tar.bz2
ecc2637547fae2b38271ae362d013afa MesaLib-7.0.1.zip
b85a4a5be4e829f4a1165e4514b13183 MesaDemos-7.0.1.tar.gz
3b66b3268df12ca8a6c4e0c4c457912c MesaDemos-7.0.1.tar.bz2
b1c18006f16e44e80fea66774c59b391 MesaDemos-7.0.1.zip
b87a69986839ae43ce12fc8e3dc1ebb4 MesaGLUT-7.0.1.tar.gz
25f30d0c1651997b4412366ba0572f7f MesaGLUT-7.0.1.tar.bz2
676ee6682a6ce78a5540554fd975c03e MesaGLUT-7.0.1.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>Added a bluegene-osmesa build config
</ul>
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed some MingW build issues
<li>Added a few missing OpenGL 2.0 API entrypoints:
<ul>
<li>glVertexAttrib4bv
<li>glVertexAttrib4iv
<li>glVertexAttrib4ubv
<li>glVertexAttrib4uiv
<li>glVertexAttrib4usv
</ul>
<li>Fixed glDrawPixels(GL_STENCIL_INDEX) pixel transfer bug 11457
<li>GLSL bug fix: added vec2(vec4) constructor
<li>GLSL bug fix: .strq and .rgba writemasks didn't always work
<li>Stencil pixel map didn't always work for glDrawPixels (bug 11475)
<li>Fixed polygon stipple bug in i915 driver
<li>Binding a zero-sized texture didn't disable texturing (bug 11309)
<li>Queries of GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH didn't include
the terminating zero (bug 11588)
<li>glXChooseFBConfig() in Xlib driver didn't handle GLX_STEREO flag properly
<li>Fixed a GLSL function call bug (#11731)
<li>glPointParameteriv(GL_DISTANCE_ATTENUATION_EXT) didn't work (bug 11754)
<li>glGetAttribLocation() always returned 1 (bug 11774)
<li>Fixed a few memory-related bugs in GLU library
</ul>
 
 
<h2>Changes</h2>
<ul>
<li>The libOSMesa library version has been reverted to 6.5.3 (soname=6)
in order to avoid application linking issues. Otherwise, applications
previously linked with libOSMesa.so.6 would no longer link with libOSMesa.so.7
<li>Dropped obsolete, unmaintained Windows project files for VC6 and VC7.
</ul>
 
 
<h2>To Do (someday) items</h2>
<ul>
<li>Switch to freeglut
<li>Fix linux-glide target/driver.
<li>Improved lambda and derivative calculation for frag progs.
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.0.2.html
0,0 → 1,95
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Mesa Release Notes</title>
<link rel="stylesheet" type="text/css" href="../mesa.css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.0.2 Release Notes / November 10, 2007</h1>
 
<p>
Mesa 7.0.2 is a stable release with bug fixes since version 7.0.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
c9cf607f36e7e50172f5f9c7d552c34e MesaLib-7.0.2.tar.gz
93e6ed7924ff069a4f883b4fce5349dc MesaLib-7.0.2.tar.bz2
10c324c3613f90f059cb8429f700f300 MesaLib-7.0.2.zip
aa8b1244a5de1d23e5814bf9b67f1435 MesaDemos-7.0.2.tar.gz
11a10410bae7be85cf25bc7119966468 MesaDemos-7.0.2.tar.bz2
1dd0b5fd6d69430a2fd76a6adbfd8fff MesaDemos-7.0.2.zip
a7dbf25c025955858bd2d89a6eb6db4c MesaGLUT-7.0.2.tar.gz
3a33f8efc8c58a592a854cfc7a643286 MesaGLUT-7.0.2.tar.bz2
eba4ef2aa8c362ead81b54357f1903a3 MesaGLUT-7.0.2.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>Updated Windows VC7 project files
<li>Added DESTDIR variable for 'make install'
<li>Added pkg-config files for gl, glu, glut and glw libraries
<li>Added bluegene-xlc-osmesa and catamount-osmesa-pgi configs
<li>Support for Intel G33/Q33/Q35 graphics chipsets
</ul>
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed a vertex buffer wrapping issue (bug 9962)
<li>Added mutex protection around texture object reference counters
<li>Added checking/support for additional chips in the i915/i945 family
(see 11978)
<li>Fixed a blending/banding issue (bug 11931)
<li>Fixed a GLU matrix inversion bug (#6748)
<li>Fixed problem with large glDrawArrays calls and indirect rendering (bug 12141)
<li>Fixed an assortment of i965 driver bugs
<li>Fixed x86-64 vertex transformation bug (12216)
<li>Fixed X server crash caused by multiple indirect rendering clients
<li>Parsing of state.texgen in ARB vertex/fragment programs didn't work (bug 12313)
<li>Fixed a glCopyPixels/glPixelZoom bug (12417)
<li>Fixed a bug when using glMaterial in display lists (bug 10604)
<li>Fixed a few GLUT/Fortran issues (Bill Mitchell)
<li>Fixed Blender crash bug (12164)
<li>Fixed some issues preventing cross-compiling
<li>Fixed up broken GL_ATI_separate_stencil extension
<li>glDrawArrays(count=0) led to a crash
<li>Fix SSE code gen memory leak, possible crash
<li>Fixed MMX 565 rgb conversion problem (bug 12614)
<li>Added -fno-strict-aliasing and -fPIC flags for gcc
<li>Fixed Blender crash in Unichrome driver (bug 13142)
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.0.3.html
0,0 → 1,91
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Mesa Release Notes</title>
<link rel="stylesheet" type="text/css" href="../mesa.css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.0.3 Release Notes / April 4, 2008</h1>
 
<p>
Mesa 7.0.3 is a stable release with bug fixes since version 7.0.2.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
3fd1cb76531b2515ef7db92d9a93dbf8 MesaLib-7.0.3.tar.gz
e6e6379d7793af40a6bc3ce1bace572e MesaLib-7.0.3.tar.bz2
97882bac195229ee0b78cab82e0e3be1 MesaLib-7.0.3.zip
8abf6bbcb1661e7dd4ce73b3fbb85898 MesaDemos-7.0.3.tar.gz
47fd6863621d3c9c7dbb870ab7f0c303 MesaDemos-7.0.3.tar.bz2
99e442e14da1928f76a7297bb421a3af MesaDemos-7.0.3.zip
2b50fe9fadc4709b57c52adef09fce3c MesaGLUT-7.0.3.tar.gz
0ff23c4e91b238abae63a5fc9fa003e7 MesaGLUT-7.0.3.tar.bz2
70e83554a4462dad28e0d6e20f79aada MesaGLUT-7.0.3.zip
</pre>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Added missing glw.pc.in file to release tarball
<li>Fix GLUT/Fortran issues
<li>GLSL gl_FrontLightModelProduct.sceneColor variable wasn't defined
<li>Fix crash upon GLSL variable array indexes (not yet supported)
<li>Two-sided stencil test didn't work in software rendering
<li>Fix two-sided lighting bugs/crashes (bug 13368)
<li>GLSL gl_FrontFacing didn't work properly
<li>glGetActiveUniform returned incorrect sizes (bug 13751)
<li>Fix several bugs relating to uniforms and attributes in GLSL API (Bruce Merry, bug 13753)
<li>glTexImage3D(GL_PROXY_TEXTURE_3D) mis-set teximage depth field
<li>Fixed GLX indirect vertex array rendering bug (14197)
<li>Fixed crash when deleting framebuffer objects (bugs 13507, 14293)
<li>User-defined clip planes enabled for R300 (bug 9871)
<li>Fixed glBindTexture() crash upon bad target (bug 14514)
<li>Fixed potential crash in glDrawPixels(GL_DEPTH_COMPONENT) (bug 13915)
<li>Bad strings given to glProgramStringARB() didn't generate GL_INVALID_OPERATION
<li>Fixed minor point rasterization regression (bug 11016)
<li>state.texenv.color state var didn't work in GL_ARB_fragment_program (bug 14931)
<li>glBitmap from a PBO didn't always work
<li>glGetTexImage into a PBO didn't always work
<li>Comments at the end of ARB vertex/fragment programs crashed the parser
</ul>
 
<h2>Changes</h2>
<ul>
<li>Updated glext.h to version 40
</ul>
 
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.0.4.html
0,0 → 1,87
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Mesa Release Notes</title>
<link rel="stylesheet" type="text/css" href="../mesa.css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.0.4 Release Notes / August 16, 2008</h1>
 
<p>
Mesa 7.0.4 is a stable release with bug fixes since version 7.0.3.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
909afa3a01ae31478d363837681415ac MesaLib-7.0.4.tar.gz
8d7bacbe0234742a5d08c8088c4619e9 MesaLib-7.0.4.tar.bz2
5e44261ef85b049a868e1785d9adc276 MesaLib-7.0.4.zip
53dcd77d37a819feaf50b5fcdd0a6e0f MesaDemos-7.0.4.tar.gz
c1215b31c5f7b85f81eed3bfba07d556 MesaDemos-7.0.4.tar.bz2
b1825a7361f116b28d82d328077630b4 MesaDemos-7.0.4.zip
d7677d015f52602d1bf8b837fb717848 MesaGLUT-7.0.4.tar.gz
f5f8b46f7e763d9f7b7d1d115c1c44ee MesaGLUT-7.0.4.tar.bz2
a786775271a02c62a3370b13b26bf48d MesaGLUT-7.0.4.zip
</pre>
 
 
<h2>Bug fixes</h2>
<ul>
<li>define #extension GL_ARB_texture_rectangle in shading language
<li>fixed WIN32 compile problem in libGLU
<li>Fixed a per-vertex glMaterial bug which could cause bad lighting
<li>Fixed potential crash in AA/smoothed triangle rendering when using a fragment shader
<li>Fixed glDrawElement + VBO segfault (bug 16156)
<li>Fixed GLSL linker bug causing generic vertex attributes to get aliased
<li>Fixed stack overflow when using glPixelZoom on Windows
<li>Fixed broken all(bvec2) GLSL function, added misc missing bvec constructors
<li>ARB program "state.clip[n].plane" didn't parse correctly
<li>Fixed broken glGetUniformiv() (bug 13774)
</ul>
 
<h2>Changes</h2>
<ul>
<li>Including the latest glext.h and glxext.h header files from Khronos
<li>Added support for DragonFly OS
<li>Added a build config for FreeBSD static libs (Anatolij Shkodin)
<li>Enabled GL_EXT_multi_draw_arrays extension in R200/R300 drivers
<li>Enabled GL_ARB_point_sprite extension in I965 driver
<li>Enabled GL_EXT_texture_sRGB extension in I965 driver
<li>Added support for GL shading language in I965 driver
</ul>
 
 
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.0.html
0,0 → 1,100
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Mesa Release Notes</title>
<link rel="stylesheet" type="text/css" href="../mesa.css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.0 Release Notes / June 22, 2007</h1>
 
<p>
Mesa 7.0 is a stable release, featuring OpenGL 2.1 API support.
A number of bugs have been fixed since the 6.5.3 release.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
35a1698986f7ac8dc435624ee9256cda MesaLib-7.0.tar.gz
50c371455fa7532c04aa0a970f9bc51f MesaLib-7.0.tar.bz2
bcedb6f43c97c1bc49e5cc7f12835722 MesaLib-7.0.zip
9bad332c7b74f59be96556135212ca9e MesaDemos-7.0.tar.gz
fada2bc1f29da513e015fda1e3abd0c0 MesaDemos-7.0.tar.bz2
84e3bbe470d983ae32f1f0c779faf99e MesaDemos-7.0.zip
76c7bb54f9850c689eba844f6daed332 MesaGLUT-7.0.tar.gz
4af28296e02772ef1de00e4e79bf3d12 MesaGLUT-7.0.tar.bz2
9043cb0b54cc03d1874728d74b12188c MesaGLUT-7.0.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>OpenGL 2.0 and 2.1 API support.
</ul>
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed a few fog-related bugs.
<li>Fixed broken GLSL mix() function.
<li>Fixed broken GLSL exp() functions.
<li>Fixed GLSL mod4(vec4, vec4) bug.
<li>Implemented GLSL asin(), acos(), atan() functions.
<li>Fixed an R300 driver bug that caused Xorg composite manager to crash
<li>Fixed R300 vertex program/matrix bug (10848)
<li>GLSL dFdx() and dFdy() work for fragment program inputs now (texcoords)
<li>Specifying an invalid texture unit as a sampler could lead to a crash
<li>The GLX protocol request for glXDestroyPBuffer() was incorrect (bug 10983)
<li>ARB vp state.light[n].half value was incorrect (bug 10987)
<li>Fixed a positional light source bug (bug 11009)
<li>Fixed point size attenuation problem (bug 11042)
<li>glPopAttrib didn't restore texture object's LOD bias (bug 11049)
<li>Fixed a TLS / TEXTREL problem (bug 7459)
</ul>
 
 
<h2>Internal code changes</h2>
<ul>
<li>Some texture code consolidation and simplifiction (Ian Romanick)
<li>R300 driver clean-ups.
</ul>
 
 
<h2>To Do (someday) items</h2>
<ul>
<li>Switch to freeglut
<li>Fix linux-glide target/driver.
<li>Improved lambda and derivative calculation for frag progs.
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.1.html
0,0 → 1,101
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.1 Release Notes / August 26, 2008</h1>
 
<p>
Mesa 7.1 is a new development release.
There have been many internal code changes since Mesa 7.0.x.
It should be relatively stable, but those who are especially concerned about
stability should wait for Mesa 7.2 or use Mesa 7.0.4 (the previous stable
release).
</p>
<p>
Note that this version of Mesa does not use the GEM memory manager.
The master branch of git uses GEM.
</p>
<p>
DRM version 2.3.1 should be used with Mesa 7.1
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
971c2fe6e6949dc5ba200a6f97a6dc81 MesaLib-7.1.tar.gz
6bff7f532d16f90f944a400c8bd7074d MesaLib-7.1.tar.bz2
d48224bf9d54c3da6776adb4869ba024 MesaLib-7.1.zip
3de268420efca43e9a19ab506cdfc993 MesaDemos-7.1.tar.gz
abfc9775e1462363af8ec160d1feb01f MesaDemos-7.1.tar.bz2
f7b3623387c4036e9895cd9ac0dfad99 MesaDemos-7.1.zip
fdf348f78cd09304b6ff801ef8acc8eb MesaGLUT-7.1.tar.gz
f6d88a4eeb02e98c7e92f1c895d3c76b MesaGLUT-7.1.tar.bz2
4dc102a5ca51e1c41dde87d3f8c7b22a MesaGLUT-7.1.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>autoconf-based configuration (and clean-up of Makefiles)
<li>Assorted DRI driver enhancements
<li>Reduced dependencies between X server and Mesa
<li>GL_EXT_texture_from_pixmap extension for Xlib driver
<li>Support for the GL shading language with i965 driver (implemented by Intel)
<li>ATI R500 series support (Radeon X1300&#8211;X1950) in r300 DRI driver
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Numerous GLSL fixes
<li>Fixed some error code/detection bugs in the GLSL-related API functions
<li>Lots of DRI driver fixes.
</ul>
 
 
<h2>To Do (someday) items</h2>
<ul>
<li>Remove the MEMCPY() and _mesa_memcpy() wrappers and just use memcpy().
Probably do the same for malloc, calloc, etc.
The wrappers were useful in the past for memory debugging but now we
have valgrind. Not worried about SunOS 4 support anymore either...
<li>Switch to freeglut
<li>Fix linux-glide target/driver.
<li>Improved lambda and derivative calculation for frag progs.
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.10.1.html
0,0 → 1,383
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.10.1 Release Notes / March 2, 2011</h1>
 
<p>
Mesa 7.10.1 is a bug fix release which fixes bugs found since the 7.10 release.
</p>
<p>
Mesa 7.10.1 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
4b4cee19f3bf16eb78bd4cc278ccf812 MesaLib-7.10.1.tar.gz
efe8da4d80c2a5d32a800770b8ce5dfa MesaLib-7.10.1.tar.bz2
0fd2b1a025934de3f8cecf9fb9b57f4c MesaLib-7.10.1.zip
42beb0f5188d544476c19496f725fa67 MesaGLUT-7.10.1.tar.gz
637bb8a20fdad89f7382b4ea83f896e3 MesaGLUT-7.10.1.tar.bz2
bdbf3ffb2606d6aa8afabb6c6243b91b MesaGLUT-7.10.1.zip
</pre>
 
 
<h2>New features</h2>
<p>None.</p>
 
<h2>Bug fixes</h2>
<p>This list is likely incomplete.</p>
<ul>
<li>Fix an off-by-one bug in a vsplit assertion.</li>
<li>Fix incorrect handling of <tt>layout</tt> qualifier
with <tt>in</tt>, <tt>out</tt>, <tt>attribute</tt>, and <tt>varying</tt>.</li>
 
<li>Fix an i965 shader bug where the negative absolute value was generated instead of the absolute value of a negation.</li>
 
<li>Fix numerous issues handling precision qualifiers in GLSL ES.</li>
 
<li>Fixed a few GLX protocol encoder bugs (Julien Cristau)</li>
 
<li>Assorted Gallium llvmpipe driver bug fixes</li>
 
<li>Assorted Mesa/Gallium state tracker bug fixes</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26795">Bug 26795</a> - gl_FragCoord off by one in Gallium drivers.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29164">Bug 29164</a> - [GLSL 1.20] invariant variable shouldn't be used before declaration</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29823">Bug 29823</a> - GetUniform[if]v busted</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29927">Bug 29927</a> - [glsl2] fail to compile shader with constructor for array of struct type</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30156">Bug 30156</a> - [i965] After updating to Mesa 7.9, Civilization IV starts to show garbage</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31923">Bug 31923</a> - [GLSL 1.20] allowing inconsistent centroid declaration between two vertex shaders</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31925">Bug 31925</a> - [GLSL 1.20] "#pragma STDGL invariant(all)" fail</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32214">Bug 32214</a> - [gles2]no link error happens when missing vertex shader or frag shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32375">Bug 32375</a> - [gl gles2] Not able to get the attribute by function glGetVertexAttribfv</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32541">Bug 32541</a> - Segmentation Fault while running an HDR (high dynamic range) rendering demo</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32569">Bug 32569</a> - [gles2] glGetShaderPrecisionFormat not implemented yet</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32695">Bug 32695</a> - [glsl] SIGSEGV glcpp/glcpp-parse.y:833</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32831">Bug 32831</a> - [glsl] division by zero crashes GLSL compiler</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32910">Bug 32910</a> - Keywords 'in' and 'out' not handled properly for GLSL 1.20 shaders</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33219">Bug 33219</a> -[GLSL bisected] implicit sized array triggers segfault in ir_to_mesa_visitor::copy_propagate</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33306">Bug 33306</a> - GLSL integer division by zero crashes GLSL compiler</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33308">Bug 33308</a> -[glsl] ast_to_hir.cpp:3016: virtual ir_rvalue* ast_jump_statement::hir(exec_list*, _mesa_glsl_parse_state*): Assertion `ret != __null' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33316">Bug 33316</a> - uniform array will be allocate one line more and initialize it when it was freed will abort</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33386">Bug 33386</a> - Dubious assembler in read_rgba_span_x86.S</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33388">Bug 33388</a> - Dubious assembler in xform4.S</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33433">Bug 33433</a> - Error in x86-64 API dispatch code.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33507">Bug 33507</a> - [glsl] GLSL preprocessor modulus by zero crash</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33508">Bug 33508</a> - [glsl] GLSL compiler modulus by zero crash</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33916">Bug 33916</a> - Compiler accepts reserved operators % and %=</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34030">Bug 34030</a> - [bisected] Starcraft 2: some effects are corrupted or too big</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34047">Bug 34047</a> - Assert in _tnl_import_array() when using GLfixed vertex datatypes with GLESv2</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34114">Bug 34114</a> - Sun Studio build fails due to standard library functions not being in global namespace</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34179">Bug 34179</a> - Nouveau 3D driver: nv50_pc_emit.c:863 assertion error kills Compiz</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34198">Bug 34198</a> - [GLSL] implicit sized array with index 0 used gets assertion</li>
 
<li><a href="https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/691653">Ubuntu bug 691653</a> - compiz crashes when using alt-tab (the radeon driver kills it) </li>
 
<li><a href="https://bugs.meego.com/show_bug.cgi?id=13005">Meego bug 13005</a> - Graphics GLSL issue lead to camera preview fail on Pinetrail</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-7.10..mesa-7.10.1
</pre>
 
<p>Alberto Milone (1):</p>
<ul>
<li>r600c: add evergreen ARL support.</li>
</ul>
 
<p>Brian Paul (21):</p>
<ul>
<li>draw: Fix an off-by-one bug in a vsplit assertion.</li>
<li>docs: add links to 7.9.1 and 7.10 release notes</li>
<li>docs: added news item for 7.9.1 and 7.10 release</li>
<li>gallivm: work around LLVM 2.6 bug when calling C functions</li>
<li>gallivm: fix copy&amp;paste error from previous commit</li>
<li>mesa: fix a few format table mistakes, assertions</li>
<li>mesa: fix num_draw_buffers==0 in fixed-function fragment program generation</li>
<li>mesa: don't assert in GetIntegerIndexed, etc</li>
<li>mesa: check for dummy renderbuffer in _mesa_FramebufferRenderbufferEXT()</li>
<li>llvmpipe: make sure binning is active when we begin/end a query</li>
<li>st/mesa: fix incorrect fragcoord.x translation</li>
<li>softpipe: fix off-by-one error in setup_fragcoord_coeff()</li>
<li>cso: fix loop bound in cso_set_vertex_samplers()</li>
<li>st/mesa: fix incorrect glCopyPixels position on fallback path</li>
<li>st/mesa: set renderbuffer _BaseFormat in a few places</li>
<li>st/mesa: fix the default case in st_format_datatype()</li>
<li>st/mesa: need to translate clear color according to surface's base format</li>
<li>docs: update 7.9.2 release notes with Brian's cherry-picks</li>
<li>docs: add link to 7.10.1 release notes</li>
<li>mesa: implement glGetShaderPrecisionFormat()</li>
<li>docs: updated environment variable list</li>
</ul>
 
<p>Bryce Harrington (1):</p>
<ul>
<li>r300g: Null pointer check for buffer deref in gallium winsys</li>
</ul>
 
<p>Chad Versace (20):</p>
<ul>
<li>glsl: At link-time, check that globals have matching centroid qualifiers</li>
<li>glcpp: Fix segfault when validating macro redefinitions</li>
<li>glsl: Fix parser rule for type_specifier</li>
<li>glsl: Change default value of ast_type_specifier::precision</li>
<li>glsl: Add semantic checks for precision qualifiers</li>
<li>glsl: Add support for default precision statements</li>
<li>glsl: Remove redundant semantic check in parser</li>
<li>glsl: Fix semantic checks on precision qualifiers</li>
<li>glsl: Fix segfault due to missing printf argument</li>
<li>glsl: Mark 'in' variables at global scope as read-only</li>
<li>mesa: Refactor handling of extension strings</li>
<li>mesa: Add/remove extensions in extension string</li>
<li>mesa: Change dependencies of some OES extension strings</li>
<li>mesa: Change OES_point_sprite to depend on ARB_point_sprite</li>
<li>mesa: Change OES_standard_derivatives to be stand-alone extension</li>
<li>i915: Disable extension OES_standard_derivatives</li>
<li>glcpp: Raise error when modulus is zero</li>
<li>glsl: Set operators '%' and '%=' to be reserved when GLSL &lt; 1.30</li>
<li>glsl: Reinstate constant-folding for division by zero</li>
<li>tnl: Add support for datatype GL_FIXED in vertex arrays</li>
</ul>
 
<p>Chia-I Wu (1):</p>
<ul>
<li>mesa: Add glDepthRangef and glClearDepthf to APIspec.xml.</li>
</ul>
 
<p>Christoph Bumiller (1):</p>
<ul>
<li>nv50,nvc0: do not forget to apply sign mode to saved TGSI inputs</li>
</ul>
 
<p>Cyril Brulebois (1):</p>
<ul>
<li>Point to bugs.freedesktop.org rather than bugzilla.freedesktop.org</li>
</ul>
 
<p>Dave Airlie (3):</p>
<ul>
<li>radeon/r200: fix fbo-clearmipmap + gen-teximage</li>
<li>radeon: calculate complete texture state inside TFP function</li>
<li>radeon: avoid segfault on 3D textures.</li>
</ul>
 
<p>Dimitry Andric (4):</p>
<ul>
<li>mesa: s/movzx/movzbl/</li>
<li>mesa: s/movzxw/movzwl/ in read_rgba_span_x86.S</li>
<li>glapi: adding @ char before type specifier in glapi_x86.S</li>
<li>glapi: add @GOTPCREL relocation type</li>
</ul>
 
<p>Eric Anholt (16):</p>
<ul>
<li>glsl: Fix the lowering of variable array indexing to not lose write_masks.</li>
<li>i965/fs: When producing ir_unop_abs of an operand, strip negate.</li>
<li>i965/vs: When MOVing to produce ABS, strip negate of the operand.</li>
<li>i965/fs: Do flat shading when appropriate.</li>
<li>i965: Avoid double-negation of immediate values in the VS.</li>
<li>intel: Make renderbuffer tiling choice match texture tiling choice.</li>
<li>i965: Fix dead pointers to fp-&gt;Parameters-&gt;ParameterValues[] after realloc.</li>
<li>docs: Add a relnote for the Civ IV on i965.</li>
<li>glapi: Add entrypoints and enums for GL_ARB_ES2_compatibility.</li>
<li>mesa: Add extension enable bit for GL_ARB_ES2_compatibility.</li>
<li>mesa: Add actual support for glReleaseShaderCompiler from ES2.</li>
<li>mesa: Add support for glDepthRangef and glClearDepthf.</li>
<li>mesa: Add getters for ARB_ES2_compatibility MAX_*_VECTORS.</li>
<li>mesa: Add getter for GL_SHADER_COMPILER with ARB_ES2_compatibility.</li>
<li>i965: Fix a bug in i965 compute-to-MRF.</li>
<li>i965/fs: Add a helper function for detecting math opcodes.</li>
</ul>
 
<p>Fredrik Höglund (1):</p>
<ul>
<li>st/mesa: fix a regression from cae2bb76</li>
</ul>
 
<p>Ian Romanick (42):</p>
<ul>
<li>docs: Add 7.10 md5sums</li>
<li>glsl: Support the 'invariant(all)' pragma</li>
<li>glcpp: Generate an error for division by zero</li>
<li>glsl: Add version_string containing properly formatted GLSL version</li>
<li>glsl &amp; glcpp: Refresh autogenerated lexer and parser files.</li>
<li>glsl: Disallow 'in' and 'out' on globals in GLSL 1.20</li>
<li>glsl: Track variable usage, use that to enforce semantics</li>
<li>glsl: Allow 'in' and 'out' when 'layout' is also available</li>
<li>docs: Initial bits of 7.10.1 release notes</li>
<li>mesa: bump version to 7.10.1-devel</li>
<li>doc: Update 7.10.1 release notes</li>
<li>glsl: Emit errors or warnings when 'layout' is used with 'attribute' or 'varying'</li>
<li>docs: Update 7.10.1 release notes</li>
<li>glsl: Refresh autogenerated lexer and parser files.</li>
<li>glsl: Don't assert when the value returned by a function has no rvalue</li>
<li>linker: Set sizes for non-global arrays as well</li>
<li>linker: Propagate max_array_access while linking functions</li>
<li>docs: Update 7.10.1 release notes</li>
<li>mesa: glGetUniform only returns a single element of an array</li>
<li>linker: Generate link errors when ES shaders are missing stages</li>
<li>mesa: Fix error checks in GetVertexAttrib functions</li>
<li>Use C-style system headers in C++ code to avoid issues with std:: namespace</li>
<li>docs: Update 7.10.1 release notes</li>
<li>glapi: Regenerate for GL_ARB_ES2_compatibility.</li>
<li>mesa: Connect glGetShaderPrecisionFormat into the dispatch table</li>
<li>i965: Set correct values for range/precision of fragment shader types</li>
<li>i915: Set correct values for range/precision of fragment shader types</li>
<li>intel: Fix typeos from 3d028024 and 790ff232</li>
<li>glsl: Ensure that all GLSL versions are supported in the stand-alone compiler</li>
<li>glsl: Reject shader versions not supported by the implementation</li>
<li>mesa: Initial size for secondary color array is 3</li>
<li>glsl: Finish out the reduce/reduce error fixes</li>
<li>glsl: Regenerate compiler and glcpp files from cherry picks</li>
<li>linker: Fix off-by-one error implicit array sizing</li>
<li>docs: update 7.10.1 release notes with Ian's recent cherry picks</li>
<li>i915: Only mark a register as available if all components are written</li>
<li>i915: Calculate partial result to temp register first</li>
<li>i915: Force lowering of all types of indirect array accesses in the FS</li>
<li>docs: Update 7.10.1 with (hopefully) the last of the cherry picks</li>
<li>docs: Clean up bug fixes list</li>
<li>intel: Remove driver date and related bits from renderer string</li>
<li>mesa: set version string to 7.10.1 (final)</li>
</ul>
 
<p>Jian Zhao (1):</p>
<ul>
<li>mesa: fix an error in uniform arrays in row calculating.</li>
</ul>
 
<p>Julien Cristau (3):</p>
<ul>
<li>glx: fix request lengths</li>
<li>glx: fix GLXChangeDrawableAttributesSGIX request</li>
<li>glx: fix length of GLXGetFBConfigsSGIX</li>
</ul>
 
<p>Keith Packard (1):</p>
<ul>
<li>glsl: Eliminate reduce/reduce conflicts in glsl grammar</li>
</ul>
 
<p>Kenneth Graunke (20):</p>
<ul>
<li>glsl: Expose a public glsl_type::void_type const pointer.</li>
<li>glsl: Don't bother unsetting a destructor that was never set.</li>
<li>glsl, i965: Remove unnecessary talloc includes.</li>
<li>glcpp: Remove use of talloc reference counting.</li>
<li>ralloc: Add a fake implementation of ralloc based on talloc.</li>
<li>Convert everything from the talloc API to the ralloc API.</li>
<li>ralloc: a new MIT-licensed recursive memory allocator.</li>
<li>Remove talloc from the make and automake build systems.</li>
<li>Remove talloc from the SCons build system.</li>
<li>Remove the talloc sources from the Mesa repository.</li>
<li>glsl: Fix use of uninitialized values in _mesa_glsl_parse_state ctor.</li>
<li>i965/fs: Apply source modifier workarounds to POW as well.</li>
<li>i965: Fix shaders that write to gl_PointSize on Sandybridge.</li>
<li>i965/fs: Avoid register coalescing away gen6 MATH workarounds.</li>
<li>i965/fs: Correctly set up gl_FragCoord.w on Sandybridge.</li>
<li>i965: Increase Sandybridge point size clamp.</li>
<li>i965/fs: Refactor control flow stack handling.</li>
<li>i965: Increase Sandybridge point size clamp in the clip state.</li>
<li>glsl: Use reralloc instead of plain realloc.</li>
<li>Revert "i965/fs: Correctly set up gl_FragCoord.w on Sandybridge."</li>
</ul>
 
<p>Marek Olšák (4):</p>
<ul>
<li>docs: fix messed up names with special characters in relnotes-7.10</li>
<li>docs: fix messed up names with special characters in relnotes-7.9.1</li>
<li>mesa: fix texture3D mipmap generation for UNSIGNED_BYTE_3_3_2</li>
<li>st/dri: Track drawable context bindings</li>
</ul>
 
<p>Paulo Zanoni (1):</p>
<ul>
<li>dri_util: fail driCreateNewScreen if InitScreen is NULL</li>
</ul>
 
<p>Sam Hocevar (2):</p>
<ul>
<li>docs: add glsl info</li>
<li>docs: fix glsl_compiler name</li>
</ul>
 
<p>Tom Fogal (1):</p>
<ul>
<li>Regenerate gl_mangle.h.</li>
</ul>
 
<p>Tom Stellard (2):</p>
<ul>
<li>r300/compiler: Disable register rename pass on r500</li>
<li>r300/compiler: Don't erase sources when converting RGB-&gt;Alpha</li>
</ul>
 
<p>Vinson Lee (3):</p>
<ul>
<li>ralloc: Add missing va_end following va_copy.</li>
<li>mesa: Move declaration before code in extensions.c.</li>
<li>mesa: Move loop variable declarations outside for loop in extensions.c.</li>
</ul>
 
<p>nobled (1):</p>
<ul>
<li>glx: Put null check before use</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.10.2.html
0,0 → 1,211
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.10.2 Release Notes / April 6, 2011</h1>
 
<p>
Mesa 7.10.2 is a bug fix release which fixes bugs found since the 7.10 release.
</p>
<p>
Mesa 7.10.2 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
2f9f444265534a2cfd9a99d1a8291089 MesaLib-7.10.2.tar.gz
f5de82852f1243f42cc004039e10b771 MesaLib-7.10.2.tar.bz2
47836e37bab6fcafe3ac90c9544ba0e9 MesaLib-7.10.2.zip
175120325828f313621cc5bc6c504803 MesaGLUT-7.10.2.tar.gz
8c71d273f5f8d6c5eda4ffc39e0fe03e MesaGLUT-7.10.2.tar.bz2
03036c8efe7b791a90fa0f2c41b43f43 MesaGLUT-7.10.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=29172">Bug 29172</a> - Arrandale - Pill Popper Pops Pills</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31159">Bug 31159</a> - shadow problem in 0ad game</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32688">Bug 32688</a> - [RADEON:KMS:R300G] some games have a wireframe or outline visible</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32949">Bug 32949</a> - [glsl wine] Need for Speed renders incorrectly with GLSL enabled</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34203">Bug 34203</a> - [GLSL] fail to call long chains across shaders</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34376">Bug 34376</a> - [GLSL] allowing assignment to unsized array
<ul>
<li>The commit message incorrectly
lists <a href="https://bugs.freedesktop.org/show_bug.cgi?id=34367">bug
34367</a>.</li>
</ul>
</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34370">Bug 34370</a> - [GLSL] "i&lt;5 &amp;&amp; i&lt;4" in for loop fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34374">Bug 34374</a> - [GLSL] fail to redeclare an array using initializer</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35073">Bug 35073</a> - [GM45] Alpha test is broken when rendering to FBO with no color attachment</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35483">Bug 35483</a> - util_blit_pixels_writemask: crash in line 322 of src/gallium/auxiliary/util/u_blit.c</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-7.10.1..mesa-7.10.2
</pre>
 
<p><em>Note:</em> Reverted commits and the reverts are not included in this list.</p>
 
<p>Alex Deucher (2):</p>
<ul>
<li>r600c: add new ontario pci ids</li>
<li>r600g: add some additional ontario pci ids</li>
</ul>
 
<p>Benjamin Franzke (1):</p>
<ul>
<li>st/dri: Fix surfaceless gl using contexts with previous bound surfaces</li>
</ul>
 
<p>Brian Paul (9):</p>
<ul>
<li>docs: pull 7.9.2 release notes into 7.10 branch</li>
<li>docs: update news.html with 7.10.1 and 7.9.2 releases</li>
<li>docs: fill in 7.10.1 release data</li>
<li>docs: add, fix release notes links</li>
<li>docs: update info about Mesa packaging/contents</li>
<li>docs: update prerequisites, remove old demo info</li>
<li>mesa: Guard against null pointer deref in fbo validation</li>
<li>st/mesa: Apply LOD bias from correct texture unit</li>
<li>glsl: silence warning in printf() with a cast</li>
</ul>
 
<p>Chad Versace (1):</p>
<ul>
<li>i965: Fix tex_swizzle when depth mode is GL_RED</li>
</ul>
 
<p>Dave Airlie (1):</p>
<ul>
<li>r600: don't close fd on failed load</li>
</ul>
 
<p>Eric Anholt (2):</p>
<ul>
<li>i965: Apply a workaround for the Ironlake "vertex flashing".</li>
<li>i965: Fix alpha testing when there is no color buffer in the FBO.</li>
</ul>
 
<p>Fabian Bieler (1):</p>
<ul>
<li>st/mesa: Apply LOD from texture object</li>
</ul>
 
<p>Henri Verbeet (1):</p>
<ul>
<li>st/mesa: Validate state before doing blits.</li>
</ul>
 
<p>Ian Romanick (13):</p>
<ul>
<li>docs: Add 7.10.1 md5sums</li>
<li>glsl: Refactor AST-to-HIR code handling variable initializers</li>
<li>glsl: Refactor AST-to-HIR code handling variable redeclarations</li>
<li>glsl: Process redeclarations before initializers</li>
<li>glsl: Function signatures cannot have NULL return type</li>
<li>glsl: Add several function / call related validations</li>
<li>linker: Add imported functions to the linked IR</li>
<li>glsl: Use insert_before for lists instead of open coding it</li>
<li>glsl: Only allow unsized array assignment in an initializer</li>
<li>glcpp: Refresh autogenerated lexer files</li>
<li>docs: Initial bits of 7.10.2 release notes</li>
<li>mesa: set version string to 7.10.2</li>
<li>mesa: Remove nonexistant files from _FILES lists</li>
</ul>
 
<p>Jerome Glisse (1):</p>
<ul>
<li>r600g: move user fence into base radeon structure</li>
</ul>
 
<p>José Fonseca (2):</p>
<ul>
<li>mesa: Fix typo glGet*v(GL_TEXTURE_COORD_ARRAY_*).</li>
<li>mesa: More glGet* fixes.</li>
</ul>
 
<p>Kenneth Graunke (4):</p>
<ul>
<li>glcpp: Rework lexer to use a SKIP state rather than REJECT.</li>
<li>glcpp: Remove trailing contexts from #if rules.</li>
<li>i965/fs: Fix linear gl_Color interpolation on pre-gen6 hardware.</li>
<li>glsl: Accept precision qualifiers on sampler types, but only in ES.</li>
</ul>
 
<p>Marek Olšák (15):</p>
<ul>
<li>st/mesa: fix crash when DrawBuffer-&gt;_ColorDrawBuffers[0] is NULL</li>
<li>st/mesa: fail to alloc a renderbuffer if st_choose_renderbuffer_format fails</li>
<li>r300/compiler: fix the saturate modifier when applied to TEX instructions</li>
<li>r300/compiler: fix translating the src negate bits in pair_translate</li>
<li>r300/compiler: Abs doesn't cancel Negate (in the conversion to native swizzles)</li>
<li>r300/compiler: TEX instructions don't support negation on source arguments</li>
<li>r300/compiler: do not set TEX_IGNORE_UNCOVERED on r500</li>
<li>r300/compiler: saturate Z before the shadow comparison</li>
<li>r300/compiler: fix equal and notequal shadow compare functions</li>
<li>r300/compiler: remove unused variables</li>
<li>st/mesa: fix crash when using both user and vbo buffers with the same stride</li>
<li>r300g: fix alpha-test with no colorbuffer</li>
<li>r300g: tell the GLSL compiler to lower the continue opcode</li>
<li>r300/compiler: propagate SaturateMode down to the result of shadow comparison</li>
<li>r300/compiler: apply the texture swizzle to shadow pass and fail values too</li>
</ul>
 
<p>Michel Dänzer (1):</p>
<ul>
<li>Use proper source row stride when getting depth/stencil texels.</li>
</ul>
 
<p>Tom Stellard (4):</p>
<ul>
<li>r300/compiler: Use a 4-bit writemask in pair instructions</li>
<li>prog_optimize: Fix reallocating registers for shaders with loops</li>
<li>r300/compiler: Fix vertex shader MAD instructions with constant swizzles</li>
<li>r300/compiler: Don't try to convert RGB to Alpha in full instructions</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.10.3.html
0,0 → 1,308
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.10.3 Release Notes / June 13, 2011</h1>
 
<p>
Mesa 7.10.3 is a bug fix release which fixes bugs found since the 7.10.2 release.
</p>
<p>
Mesa 7.10.3 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
d77b02034c11d6c2a55c07f82367d780 MesaLib-7.10.3.tar.gz
8c38fe8266be8e1ed1d84076ba5a703b MesaLib-7.10.3.tar.bz2
614d063ecd170940d9ae7b355d365d59 MesaLib-7.10.3.zip
8768fd562ede7ed763d92b2d22232d7a MesaGLUT-7.10.3.tar.gz
1496415b89da9549f0f3b34d9622e2e2 MesaGLUT-7.10.3.tar.bz2
1f29d0e7398fd3bf9f36f5db02941198 MesaGLUT-7.10.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=29162">Bug 29162</a> - mesa/darwin is severly broken</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31590">Bug 31590</a> - Black space between colors on mole hill example</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32395">Bug 32395</a> - [glsl] Incorrect code generation for shadow2DProj() with bias</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32564">Bug 32564</a> - [llvmpipe] prog: Unknown command line argument '-disable-mmx'. Try: 'prog -help' with llvm-2.9svn</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32835">Bug 32835</a> - [glsl] recursive #define results in infinite stack recursion</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33303">Bug 33303</a> - [glsl] ir_constant_expression.cpp:72: virtual ir_constant* ir_expression::constant_expression_value(): Assertion `op[0]-&gt;type-&gt;base_type == op[1]-&gt;type-&gt;base_type' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33314">Bug 33314</a> - [glsl] ir_constant_expression.cpp:122: virtual ir_constant* ir_expression::constant_expression_value(): Assertion `op[0]-&gt;type-&gt;base_type == GLSL_TYPE_BOOL' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33512">Bug 33512</a> - [SNB] case ogles2conform/GL/gl_FragCoord/gl_FragCoord_xy_frag.test and gl_FragCoord_w_frag.test fail</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34280">Bug 34280</a> - r200 mesa-7.10 font distortion</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34321">Bug 34321</a> - The ARB_fragment_program subset of ARB_draw_buffers not implemented</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35603">Bug 35603</a> - GLSL compiler freezes compiling shaders</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36173">Bug 36173</a> - struct renderbuffer's 'format' field never set when using FBO</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36238">Bug 36238</a> - Mesa release files don't contain scons control files</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36410">Bug 36410</a> - [SNB] Rendering errors in 3DMMES subtest taiji</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36527">Bug 36527</a> - [wine] Wolfenstein: Failed to translate rgb instruction.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36651">Bug 36651</a> - mesa requires bison and flex to build but configure does not check for them</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36738">Bug 36738</a> - Openarena crash with r300g, swrastg + llvm &gt; 2.8</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37648">Bug 37648</a> - Logic error in mesa/main/teximage.c:texsubimage</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37739">Bug 37739</a> - Color clear of FBO without color buffer crashes</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-7.10.2..mesa-7.10.3
</pre>
 
<p>Alan Hourihane (1):</p>
<ul>
<li>Check for out of memory when creating fence</li>
</ul>
 
<p>Alex Buell (1):</p>
<ul>
<li>configure: bump LIBDRM_REQUIRED to 2.4.24</li>
</ul>
 
<p>Alex Deucher (2):</p>
<ul>
<li>r600c: add new pci ids</li>
<li>r600g: add new pci ids</li>
</ul>
 
<p>Brian Paul (19):</p>
<ul>
<li>docs: add link to 7.10.2 release notes</li>
<li>scons: remove dangling reference to state_trackers/python/SConscript</li>
<li>Makefile: add missing Scons files</li>
<li>llvmpipe: document issue with LLVM 2.8 and earlier with AVX</li>
<li>docs: replace llvmpipe/README with docs/llvmpipe.html</li>
<li>glsl: add static qualifier to silence warning</li>
<li>glsl: add cast to silence signed/unsigned comparison warning</li>
<li>mesa: s/height/depth/ in texsubimage()</li>
<li>mesa: fix void pointer arithmetic warnings</li>
<li>mesa: add some missing GLAPIENTRY keywords</li>
<li>mesa: check that flex/bison are installed</li>
<li>st/mesa: fix incorrect texture level/face/slice accesses</li>
<li>draw: fix edge flag handling in clipper (for unfilled tris/quads/polygons)</li>
<li>vbo: check array indexes to prevent negative indexing</li>
<li>vbo: remove node-&gt;count &gt; 0 test in vbo_save_playback_vertex_list()</li>
<li>st/mesa: fix software accum buffer format bug</li>
<li>mesa: add include/c99/inttypes.h include/c99/stdbool.h include/c99/stdint.h files to tarballs</li>
<li>docs: 7.10.3 release notes skeleton file, links</li>
<li>mesa: bump version to 7.10.3</li>
</ul>
 
<p>Carl Worth (2):</p>
<ul>
<li>glcpp: Simplify calling convention of parser's active_list functions</li>
<li>glcpp: Fix attempts to expand recursive macros infinitely (bug #32835).</li>
</ul>
 
<p>Dave Airlie (1):</p>
<ul>
<li>st/mesa: fix compressed mipmap generation.</li>
</ul>
 
<p>Eric Anholt (19):</p>
<ul>
<li>i965: Fix the VS thread limits for GT1, and clarify the WM limits on both.</li>
<li>glsl: Avoid cascading errors when looking for a scalar boolean and failing.</li>
<li>glsl: Semantically check the RHS of `&amp;&amp;' even when short-circuiting.</li>
<li>glsl: Semantically check the RHS of `||' even when short-circuiting.</li>
<li>glsl: When we've emitted a semantic error for ==, return a bool constant.</li>
<li>glsl: Perform type checking on "^^" operands.</li>
<li>intel: Use _mesa_base_tex_format for FBO texture attachments.</li>
<li>swrast: Don't assert against glReadPixels of GL_RED and GL_RG.</li>
<li>mesa: Add a gl_renderbuffer.RowStride field like textures have.</li>
<li>mesa: Add a function to set up the default renderbuffer accessors.</li>
<li>intel: Use Mesa core's renderbuffer accessors for depth.</li>
<li>mesa: Use _mesa_get_format_bytes to refactor out the RB get_pointer_*</li>
<li>mesa: Use _mesa_get_format_bytes to refactor out the RB get_row_*</li>
<li>mesa: Add renderbuffer accessors for R8/RG88/R16/RG1616.</li>
<li>swrast: Don't try to adjust_colors for &lt;8bpc when handling R16, RG1616.</li>
<li>intel: Use mesa core's R8, RG88, R16, RG1616 RB accessors.</li>
<li>Revert "intel: Add spans code for the ARB_texture_rg support."</li>
<li>mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.</li>
<li>mesa: Add support for OPTION ATI_draw_buffers to ARB_fp.</li>
</ul>
 
<p>Hans de Goede (1):</p>
<ul>
<li>texstore: fix regression stricter check for memcpy path for unorm88 and unorm1616</li>
</ul>
 
<p>Henri Verbeet (3):</p>
<ul>
<li>mesa: Also update the color draw buffer if it's explicitly set to GL_NONE.</li>
<li>glx: Destroy dri2Hash on DRI2 display destruction.</li>
<li>glx: Only remove the glx_display from the list after it's destroyed.</li>
</ul>
 
<p>Ian Romanick (9):</p>
<ul>
<li>docs: Add 7.10.2 md5sums</li>
<li>glsl: Fix off-by-one error setting max_array_access for non-constant indexing</li>
<li>ir_to_mesa: Handle shadow compare w/projection and LOD bias correctly</li>
<li>intel: Fix ROUND_DOWN_TO macro</li>
<li>glsl: Regenerate compiler and glcpp files from cherry picks</li>
<li>i965: Remove hint_gs_always and resulting dead code</li>
<li>mesa: Don't try to clear a NULL renderbuffer</li>
<li>mesa: Ignore blits to/from missing buffers</li>
<li>docs: Add list of bugs fixed in 7.10.3 release</li>
</ul>
 
<p>Jeremy Huddleston (18):</p>
<ul>
<li>apple: Update GL specs</li>
<li>apple: Rename glcontextmodes.[ch] to glxconfig.[ch]</li>
<li>apple: Rename __GLcontextModes to struct glx_config</li>
<li>apple: Rename GLXcontext</li>
<li>apple: Re-add driContext and do_destroy</li>
<li>apple: Rename _gl_context_modes_find_visual to glx_config_find_visual</li>
<li>apple: Rename GLXcontext</li>
<li>apple: Change from XExtDisplayInfo to struct glx_display</li>
<li>apple: ifdef out come glapi-foo on darwin</li>
<li>glx: Dead code removal</li>
<li>apple: Build darwin using applegl rather than indirect</li>
<li>apple: Fix build failures in applegl_glx.c</li>
<li>darwin: Define GALLIUM_DRIVERS_DIRS in darwin config</li>
<li>apple: Package applegl source into MesaLib tarball</li>
<li>darwin: Set VG_LIB_{NAME,GLOB} to fix make install</li>
<li>darwin: Don't link against libGL when building libOSMesa</li>
<li>darwin: Fix VG_LIB_GLOB to also match the unversioned symlink</li>
<li>osmesa: Fix missing symbols when GLX_INDIRECT_RENDERING is defined.</li>
</ul>
 
<p>José Fonseca (13):</p>
<ul>
<li>llvmpipe: Update readme.</li>
<li>mesa: GL_PROVOKING_VERTEX_EXT is a GLenum, not GLboolean.</li>
<li>mesa: Fix GetVertexAttrib* inside display lists.</li>
<li>draw: Fix draw_variant_output::format's type.</li>
<li>gallivm: Tell LLVM to not assume a 16-byte aligned stack on x86.</li>
<li>gallivm: Fix for dynamically linked LLVM 2.8 library.</li>
<li>st/wgl: Adjust the pbuffer invisible window size.</li>
<li>st/wgl: Fix debug output format specifiers of stw_framebuffer_get_size().</li>
<li>st/wgl: Prevent spurious framebuffer sizes when the window is minimized.</li>
<li>st/wgl: Cope with zero width/height windows.</li>
<li>st/wgl: Allow to create pbuffers bigger than the desktop.</li>
<li>st/wgl: Remove buggy assertion.</li>
<li>wgl: Don't hold on to user supplied HDC.</li>
</ul>
 
<p>Kenneth Graunke (10):</p>
<ul>
<li>i965/fs: Switch W and 1/W in Sandybridge interpolation setup.</li>
<li>i965: Refactor Sandybridge implied move handling.</li>
<li>i965: Resolve implied moves in brw_dp_READ_4_vs_relative.</li>
<li>intel: Add IS_GT2 macro for recognizing Sandybridge GT2 systems.</li>
<li>i965: Allocate the whole URB to the VS and fix calculations for Gen6.</li>
<li>intel: Support glCopyTexImage() from ARGB8888 to XRGB8888.</li>
<li>glsl: Fix memory error when creating the supported version string.</li>
<li>glsl: Regenerate autogenerated file builtin_function.cpp.</li>
<li>i965: Rename various gen6 #defines to match the documentation.</li>
<li>i965: Never enable the GS on Gen6.</li>
</ul>
 
<p>Kostas Georgiou (1):</p>
<ul>
<li>r600c/g: Add pci id for FirePro 2270</li>
</ul>
 
<p>Marek Olšák (18):</p>
<ul>
<li>tgsi/ureg: bump the limit of immediates</li>
<li>st/mesa: fix changing internal format via RenderbufferStorage</li>
<li>st/mesa: GenerateMipmap should not be killed by conditional rendering</li>
<li>swrast: BlitFramebuffer should not be killed by conditional rendering</li>
<li>st/mesa: BlitFramebuffer should not be killed by conditional rendering</li>
<li>st/mesa: CopyTex(Sub)Image should not be killed by conditional rendering</li>
<li>st/mesa: conditional rendering should not kill texture decompression via blit</li>
<li>mesa: forbid UseProgram to be called inside Begin/End</li>
<li>mesa: UseShaderProgramEXT and Uniform* shouldn't be allowed inside Begin/End</li>
<li>mesa: queries of non-existent FBO attachments should return INVALID_OPERATION</li>
<li>r300g: fix draw_vbo splitting on r3xx-r4xx</li>
<li>r300g: fix texturing with non-3D textures and wrap R mode set to sample border</li>
<li>r300g: fix occlusion queries when depth test is disabled or zbuffer is missing</li>
<li>r300g: clear can be killed by render condition</li>
<li>st/mesa: remove asserts in st_texture_image_copy</li>
<li>mesa: fix up assertion in _mesa_source_buffer_exists</li>
<li>mesa: invalidate framebuffer if internal format of renderbuffer is changed</li>
<li>mesa: return after invalidating renderbuffer</li>
</ul>
 
<p>Matt Turner (1):</p>
<ul>
<li>r300/compiler: align memory allocations to 8-bytes</li>
</ul>
 
<p>Tom Stellard (3):</p>
<ul>
<li>r300/compiler: Fix incorrect presubtract conversion</li>
<li>r300/compiler: Fix dataflow analysis bug with ELSE blocks</li>
<li>r300/compiler: Limit instructions to 3 source selects</li>
</ul>
 
<p>Vinson Lee (1):</p>
<ul>
<li>gallivm: Disable MMX-disabling code on llvm-2.9.</li>
</ul>
 
<p>Zou Nan hai (1):</p>
<ul>
<li>i965: Align interleaved URB write length to 2</li>
</ul>
 
<p>pepp (1):</p>
<ul>
<li>st/mesa: assign renderbuffer's format field when allocating storage</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.10.html
0,0 → 1,2798
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.10 Release Notes / January 7, 2011</h1>
 
<p>
Mesa 7.10 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 7.10.1.
</p>
<p>
Mesa 7.10 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
0a70c15c135561824bdcae92bf232e43 MesaLib-7.10.tar.gz
33fb94eccc02cbb4d8d1365615e38e46 MesaLib-7.10.tar.bz2
5cafdc0eda0f9bf370b95c98df3338fa MesaLib-7.10.zip
bc644be551ed585fc4f66c16b64a91c9 MesaGLUT-7.10.tar.gz
5c2677a155672352d62b177e4f0f92e8 MesaGLUT-7.10.tar.bz2
2ce5001f74496d1ba719ef74d910a5cf MesaGLUT-7.10.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>GL_ARB_explicit_attrib_location extension (Intel and software drivers).
<li>GL_ARB_texture_rg (Intel, software drivers, gallium drivers).
<li>GL_EXT_separate_shader_objects extension (Intel and software drivers).
<li>GL_NV_primitive_restart extension (Gallium softpipe, llvmpipe).
<li>New fragment shader back-end for i965-class hardware.
<li>Support for Sandybridge chipset in i965 DRI driver.
</ul>
 
 
<h2>Bug fixes</h2>
<p>This list is likely incomplete.</p>
<ul>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28800">Bug 28800</a> - [r300c, r300g] Texture corruption with World of Warcraft</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29420">Bug 29420</a> - Amnesia / HPL2 RendererFeatTest - not rendering correctly</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29946">Bug 29946</a> - [swrast] piglit valgrind glsl-array-bounds-04 fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30261">Bug 30261</a> - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30632">Bug 30632</a> - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb &amp;&amp; stfb-&gt;iface == stfbi' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30694">Bug 30694</a> - wincopy will crash on Gallium drivers when going to front buffer</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30771">Bug 30771</a> - [r600g] vert-tex glsl demo</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30787">Bug 30787</a> - Invalid asm shader does not generate draw-time error when used with GLSL shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30974">Bug 30974</a> - [llvmpipe] SIGABRT src/gallium/drivers/llvmpipe/lp_state_fs.c:779</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30993">Bug 30993</a> - getFramebufferAttachmentParameteriv wrongly generates error</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31101">Bug 31101</a> - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31193">Bug 31193</a> - [regression] aa43176e break water reflections</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31194">Bug 31194</a> - The mesa meta save/restore code doesn't ref the current GLSL program</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31371">Bug 31371</a> - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type-&gt;base_type &gt;= 0) &amp;&amp; (type-&gt;base_type &lt;= 3)' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31439">Bug 31439</a> - Crash in glBufferSubData() with size == 0</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31495">Bug 31495</a> - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31514">Bug 31514</a> - isBuffer returns true for unbound buffers</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31560">Bug 31560</a> - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31617">Bug 31617</a> - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31648">Bug 31648</a> - [GLSL] array-struct-array gets assertion: `(size &gt;= 1) &amp;&amp; (size &lt;= 4)' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31650">Bug 31650</a> - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31673">Bug 31673</a> - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31690">Bug 31690</a> - i915 shader compiler fails to flatten if in Aquarium webgl demo.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31832">Bug 31832</a> - [i915] Bad renderbuffer format: 21</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31841">Bug 31841</a> - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31894">Bug 31894</a> - Writing to gl_PointSize with GLES2 corrupts other varyings</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31909">Bug 31909</a> - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr-&gt;operands[i]-&gt;type-&gt;is_scalar()' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31934">Bug 31934</a> - [gallium] Mapping empty buffer object causes SIGSEGV</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31983">Bug 31983</a> - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31985">Bug 31985</a> - [GLSL 1.20] initialized uniform array considered as "unsized"</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31987">Bug 31987</a> - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32035">Bug 32035</a> - [GLSL bisected] comparing unsized array gets segfault</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32070">Bug 32070</a> - llvmpipe renders stencil demo incorrectly</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32273">Bug 32273</a> - assertion fails when starting vdrift 2010 release with shaders enabled</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32287">Bug 32287</a> - [bisected GLSL] float-int failure</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32311">Bug 32311</a> - [965 bisected] Array look-ups broken on GM45</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32520">Bug 32520</a> - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32825">Bug 32825</a> - egl_glx driver completely broken in 7.9 branch [fix in master]</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </li> -->
 
</ul>
 
 
<h2>Changes</h2>
<p>Adam Jackson (2):</p>
<ul>
<li>i965: Update renderer strings for sandybridge</li>
<li>drivers/x11: unifdef XFree86Server</li>
</ul>
 
<p>Alex Deucher (30):</p>
<ul>
<li>r600c: fix mipmap stride on evergreen</li>
<li>r600c: add reloc for CB_COLOR0_ATTRIB</li>
<li>r600c: pull over 6xx/7xx vertex fixes for evergreen</li>
<li>r600c: fix segfault in evergreen stencil code</li>
<li>r100: revalidate after radeon_update_renderbuffers</li>
<li>r600c: add missing radeon_prepare_render() call on evergreen</li>
<li>r600c: properly align mipmaps to group size</li>
<li>egl_dri2: Add radeon chip ids</li>
<li>r600c/evergreen: texture align is group_bytes just like 6xx/7xx</li>
<li>r600g: fix buffer alignment</li>
<li>r600g: All EVENT_WRITE packets need the EVENT_INDEX field</li>
<li>r600g: translate ARR instruction for evergreen</li>
<li>r600g: use meaningful defines for chiprev</li>
<li>r600g: use full range of VS resources for vertex samplers</li>
<li>r600g: fix additional EVENT_WRITE packet</li>
<li>r600g: fix some winsys functions to deal properly with evergreen</li>
<li>r600c: add Ontario Fusion APU support</li>
<li>r600g: add support for ontario APUs</li>
<li>r600c: fix VC flush on cedar and palm</li>
<li>gallium/egl: fix r300 vs r600 loading</li>
<li>r600c: fix some opcodes on evergreen</li>
<li>r600c: bump texture limits to hw limits</li>
<li>r600g: bump texture/cb limits appropriately for evergreen</li>
<li>radeon: bump mip tree levels to 15</li>
<li>r600g: fix rendering with a vertex attrib having a zero stride</li>
<li>r600g: remove useless switch statements</li>
<li>r600g: add support for NI (northern islands) asics</li>
<li>r600c: add support for NI asics</li>
<li>r600g: support up to 64 shader constants</li>
<li>r600c: fix up SQ setup in blit code for Ontario/NI</li>
</ul>
 
<p>Andre Maasikas (3):</p>
<ul>
<li>r600c: fix buffer height setting in dri2 case</li>
<li>r600g: break alu clause earlier</li>
<li>r600g: fix evergreen interpolation setup</li>
</ul>
 
<p>Andrew Randrianasulu (2):</p>
<ul>
<li>dri/nv04: Don't expose ARB_texture_env_combine/dot3.</li>
<li>dri/nv04: Enable eng3dm for A8/L8 textures.</li>
</ul>
 
<p>Aras Pranckevicius (2):</p>
<ul>
<li>glsl: fix crash in loop analysis when some controls can't be determined</li>
<li>glsl: fix matrix type check in ir_algebraic</li>
</ul>
 
<p>Bas Nieuwenhuizen (3):</p>
<ul>
<li>r600g: set ENABLE_KILL in the shader state in the new design</li>
<li>r600g: set ENABLE_KILL on evergreen too</li>
<li>r600g: use dirty list to track dirty blocks</li>
</ul>
 
<p>Ben Skeggs (3):</p>
<ul>
<li>nv50: DST</li>
<li>nv50: DPH</li>
<li>nv50: silence some unknown get_param warnings</li>
</ul>
 
<p>Benjamin Franzke (2):</p>
<ul>
<li>st/egl image: multiply drm buf-stride with blocksize</li>
<li>r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)</li>
</ul>
 
<p>Brian Paul (296):</p>
<ul>
<li>glx: add const qualifiers to __indirect_glMultiDrawArraysEXT()</li>
<li>glsl2: fix signed/unsigned comparison warning</li>
<li>llvmpipe: cast to silence warning</li>
<li>llvmpipe: s/boolean/unsigned/ in bitfield to silence warning</li>
<li>nv50: use unsigned int for bitfields to silence warnings</li>
<li>tgsi: fix incorrect usage_mask for shadow tex instructions</li>
<li>gallivm: expand AoS sampling to cover all filtering modes</li>
<li>gallivm: fix incorrect vector shuffle datatype</li>
<li>gallivm: move i32_vec_type inside the #ifdef</li>
<li>mesa: include mfeatures.h in formats.c</li>
<li>gallivm: fix wrong return value in bitwise functions</li>
<li>tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0</li>
<li>gallivm: added missing case for PIPE_TEXTURE_RECT</li>
<li>gallium: better docs for pipe_rasterizer_state::sprite_coord_enable</li>
<li>gallium: rework handling of sprite_coord_enable state</li>
<li>gallium/docs: added new pipeline.txt diagram</li>
<li>mesa: don't call valid_texture_object() in non-debug builds</li>
<li>glsl2: silence compiler warnings in printf() calls</li>
<li>docs: remove old broken link</li>
<li>docs: mark as obsolete, remove dead links</li>
<li>llvmpipe: fix query bug when no there's no scene</li>
<li>gallivm: remove debug code</li>
<li>llvmpipe: maintain fragment shader state for draw module</li>
<li>llvmpipe: indentation fix</li>
<li>llvmpipe: reformatting, remove trailing whitespace, etc</li>
<li>llvmpipe: clean-up, comments in setup_point_coefficient()</li>
<li>llvmpipe: rename sprite field, add sprite_coord_origin</li>
<li>llvmpipe: implement sprite coord origin modes</li>
<li>draw: fix test for using the wide-point stage</li>
<li>llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTS</li>
<li>draw: check bitshift against PIPE_MAX_SHADER_OUTPUS</li>
<li>Merge branch 'sprite-coord'</li>
<li>draw: new draw_fs.[ch] files</li>
<li>glsl2: fix typo in error msg</li>
<li>gallivm: fix lp_build_sample_compare()</li>
<li>softpipe: add missing calls to set draw vertex samplers/views</li>
<li>mesa: don't advertise bogus GL_ARB_shading_language_120 extension</li>
<li>configs: remove egl-swrast target from linux-dri config</li>
<li>llvmpipe: fix sprite texcoord setup for non-projective texturing</li>
<li>mesa: fix assertions to handle srgb formats</li>
<li>st/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()</li>
<li>st/mesa: use the wrapped renderbuffer in CopyPixels()</li>
<li>llvmpipe: make min/max lod and lod bias dynamic state</li>
<li>llvmpipe: make texture border_color dynamic state</li>
<li>softpipe: fix repeat() function for NPOT textures</li>
<li>gallivm: fix repeat() function for NPOT textures</li>
<li>swrast: update comments for REMAINDER() macro</li>
<li>softpipe: rename sp_state_fs.c -&gt; sp_state_shader.c</li>
<li>softpipe: make shader-related functions static</li>
<li>softpipe: make blend/stencil/depth functions static</li>
<li>softpipe: make sampler state functions static</li>
<li>softpipe: make vertex state functions static</li>
<li>softpipe: make rasterizer state functions static</li>
<li>softpipe: make stream out state functions static</li>
<li>softpipe: make clip state functions static</li>
<li>softpipe: minor asst. clean-ups</li>
<li>softpipe: allocate tile data on demand</li>
<li>llvmpipe: fix swizzling of texture border color</li>
<li>softpipe: fix swizzling of texture border color</li>
<li>draw: pass sampler state down to llvm jit state</li>
<li>gallivm: check for level=0 case in lp_build_minify()</li>
<li>gallivm: added some comments</li>
<li>draw: check for null sampler pointers</li>
<li>swrast: fix choose_depth_texture_level() to respect mipmap filtering state</li>
<li>st/mesa: replace assertion w/ conditional in framebuffer invalidation</li>
<li>glsl2: fix signed/unsigned comparison warning</li>
<li>st/xlib: add some comments</li>
<li>ir_to_mesa: assorted clean-ups, const qualifiers, new comments</li>
<li>mesa: remove assertion w/ undeclared variable texelBytes</li>
<li>gallivm: remove newlines</li>
<li>draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELS</li>
<li>mesa: reformatting, comments, code movement</li>
<li>x11: fix breakage from gl_config::visualType removal</li>
<li>gallivm: work-around trilinear mipmap filtering regression with LLVM 2.8</li>
<li>mesa: remove post-convolution width/height vars</li>
<li>gallivm: add compile-time option to emit inst addrs and/or line numbers</li>
<li>llvmpipe: code to dump bytecode to file (disabled)</li>
<li>gallivm: added lp_build_print_vec4()</li>
<li>gallivm: added lp_build_load_volatile()</li>
<li>glsl: add ir_unop_round_even case to silence unhandled enum warning</li>
<li>st/mesa: fix regressions in glDrawPixels(GL_STENCIL_INDEX)</li>
<li>st/mesa: reformatting in st_cb_drawpixels.c</li>
<li>st/mesa: use GLuint to avoid problem w/ uint not defined on mingw32</li>
<li>st/mesa: update function name, comments</li>
<li>gallivm: use util_snprintf()</li>
<li>llvmpipe: remove lp_setup_coef*.c files from Makefile</li>
<li>mesa: fix mesa version string construction</li>
<li>gallivm: fix incorrect type for zero vector in emit_kilp()</li>
<li>llvmpipe/draw: always enable LLVMAddInstructionCombiningPass()</li>
<li>draw: use float version of LLVM Mul/Add instructions</li>
<li>draw: fix typo in comment</li>
<li>mesa: add GL_RG case to _mesa_source_buffer_exists()</li>
<li>mesa: add missing cases for packing red/green images</li>
<li>st/mesa: added cases for GL_COMPRESSED_RED/RG in st_choose_format()</li>
<li>docs: update texture red/green support in GL3.txt</li>
<li>docs: add GL_ARB_texture_rg to release notes</li>
<li>mesa: driver hook for primitive restart</li>
<li>mesa: set/get primitive restart state</li>
<li>mesa: API spec for primitive restart</li>
<li>mesa: regenerated files with primitive restart</li>
<li>mesa: plug in primitive restart function</li>
<li>vbo: support for primitive restart</li>
<li>gallium: new CAP, state for primitive restart</li>
<li>st/mesa: support for primitive restart</li>
<li>draw: implement primitive splitting for primitive restart</li>
<li>softpipe: enable primitive restart</li>
<li>llvmpipe: enable primitive restart</li>
<li>docs: added GL_NV_primitive_restart extension</li>
<li>Merge branch 'primitive-restart-cleanup'</li>
<li>winsys/xlib: formatting fixes</li>
<li>winsys/xlib: use Bool type for shm field</li>
<li>winsys/xlib: fix up allocation/dealloction of XImage</li>
<li>winsys/xlib: rename xm-&gt;xlib</li>
<li>galahad: silence warnings</li>
<li>mesa: move declaration before code</li>
<li>docs: updated GL3 status for primitive restart</li>
<li>mesa: 80-column wrapping</li>
<li>mesa: simplify fbo format checking code</li>
<li>mesa: split up the image.c file</li>
<li>mesa: add pixel packing for unscaled integer types</li>
<li>mesa: _mesa_ClearColorIuiEXT() and _mesa_ClearColorIiEXT()</li>
<li>mesa: _mesa_is_format_integer() function</li>
<li>mesa: minor reformatting, clean-ups</li>
<li>mesa: added _mesa_is_fragment_shader_active() helper</li>
<li>mesa: new glDrawPixels error check for integer formats</li>
<li>softpipe: added some texture sample debug code (disabled)</li>
<li>mesa: added new gl_extensions::EXT_gpu_shader4 field</li>
<li>mesa: added new gl_framebuffer::_IntegerColor field</li>
<li>mesa: added glGet query for GL_RGBA_INTEGER_MODE_EXT</li>
<li>mesa: compute _IntegerColor field in _mesa_test_framebuffer_completeness()</li>
<li>mesa: added cases for GL_EXT_texture_integer formats</li>
<li>mesa: added cases for GL_EXT_texture_integer</li>
<li>st/mesa: add format selection for signed/unsigned integer formats</li>
<li>mesa: simplify target_can_be_compressed() function</li>
<li>glapi: GL_EXT_texture_integer API</li>
<li>glapi: include/build EXT_texture_integer.xml</li>
<li>mesa: regenerated API files for GL_EXT_texture_integer</li>
<li>mesa: plug in GL_EXT_texture_integer functions</li>
<li>mesa: display list support for GL_EXT_texture_integer</li>
<li>st/mesa: be smarter choosing texture format for glDrawPixels()</li>
<li>softpipe: remove &gt;32bpp color restriction</li>
<li>mesa: silence enum comparison warning</li>
<li>mesa: fix uninitialized var warning</li>
<li>xlib: silence unused var warning</li>
<li>util: use pointer_to_func() to silence warning</li>
<li>rtasm: use pointer_to_func() to silence warning</li>
<li>translate: use function typedefs, casts to silence warnings</li>
<li>translate: remove unused prototypes</li>
<li>mesa: additional glReadPixels error checks for GL_EXT_texture_integer</li>
<li>mesa: additional switch cases for GL_EXT_texture_integer</li>
<li>mesa: additional teximage error checks for GL_EXT_texture_integer</li>
<li>mesa: do integer FB / shader validation check in _mesa_valid_to_render()</li>
<li>mesa: call _mesa_valid_to_render() in glDrawPixels, glCopyPixels, glBitmap</li>
<li>mesa: remove the unused _mesa_is_fragment_shader_active() function</li>
<li>mesa: fix bug in _mesa_is_format_integer()</li>
<li>mesa: rename function to _mesa_is_format_integer_color()</li>
<li>mesa: remove 'normalized' parameter from _mesa_VertexAttribIPointer()</li>
<li>vbo: re-indent file</li>
<li>glapi: xml spec file for GL_EXT_gpu_shader4</li>
<li>glapi: include EXT_gpu_shader4.xml</li>
<li>glapi: regenerated API files</li>
<li>mesa: plug in stubs for glBindFragDataLocation(), glGetFragDataLocation()</li>
<li>mesa: add glGetUniformuiv(), plug in uint glUniform funcs</li>
<li>mesa: plug in more GL_EXT_gpu_shader4 functions</li>
<li>mesa: add new GLvertexformat entries for integer-valued attributes</li>
<li>mesa: implement integer-valued vertex attribute functions</li>
<li>mesa: add gl_client_array::Integer field and related vertex array state code</li>
<li>mesa: consolidate glVertex/Color/etcPointer() code</li>
<li>mesa: state/queries for GL_MIN/MAX_PROGRAM_TEXEL_OFFSET_EXT</li>
<li>mesa: glArrayElement support for integer-valued arrays</li>
<li>mesa: clean-up array element code</li>
<li>mesa: add extension table entry for GL_EXT_gpu_shader4</li>
<li>mesa: remove obsolete comment</li>
<li>mesa: fix incorrect type in _mesa_texstore_rgba_int16()</li>
<li>mesa: fix integer cases in _mesa_is_legal_format_and_type()</li>
<li>mesa: add const qualifier to _mesa_is_legal_format_and_type()</li>
<li>mesa: additional integer formats in _mesa_bytes_per_pixel()</li>
<li>mesa: pixel transfer ops do not apply to integer-valued textures</li>
<li>mesa: remove dead code</li>
<li>osmesa: fix renderbuffer memleak in OSMesaMakeCurrent()</li>
<li>mesa: use GLubyte for edge flag arrays</li>
<li>mesa: move the gl_config struct declaration</li>
<li>dri/util: add a bunch of comments</li>
<li>mesa: remove always-false conditional in check_compatible()</li>
<li>mesa: fix aux/accum comment and error message mixups</li>
<li>llvmpipe: assign context's frag shader pointer before using it</li>
<li>llvmpipe: add a cast</li>
<li>mesa: silence new warnings in texobj.c</li>
<li>egl/gdi: fix typo: xsurf-&gt;gsurf</li>
<li>mesa: code to unpack RGBA as uints</li>
<li>gallivm: implement scatter stores into temp register file</li>
<li>gallivm: add some LLVM var labels</li>
<li>gallivm: added debug code to dump temp registers</li>
<li>gallivm: add pixel offsets in scatter stores</li>
<li>gallivm: added lp_elem_type()</li>
<li>gallivm: implement execution mask for scatter stores</li>
<li>tgsi: remove unused function</li>
<li>llvmpipe: added some debug assertions, but disabled</li>
<li>gallivm: alloca() was called too often for temporary arrays</li>
<li>gallivm: add const qualifiers, fix comment string</li>
<li>softpipe: disable vertex texturing with draw/llvm</li>
<li>mesa: consolidate pixel packing/unpacking code</li>
<li>mesa: rename vars in pixel pack/unpack code</li>
<li>mesa: implement uint texstore code</li>
<li>mesa: remove stray GL_FLOAT case in _mesa_is_legal_format_and_type()</li>
<li>mesa: make fixed-pt and byte-valued arrays a runtime feature</li>
<li>softpipe: can't no-op depth test stage when occlusion query is enabled</li>
<li>mesa: no-op glBufferSubData() on size==0</li>
<li>mesa: #include mfeatures.h in enums.h</li>
<li>mesa: improve error message</li>
<li>mesa: add missing formats in _mesa_format_to_type_and_comps()</li>
<li>mesa: handle more pixel types in mipmap generation code</li>
<li>mesa: make glIsBuffer() return false for never bound buffers</li>
<li>mesa: fix glDeleteBuffers() regression</li>
<li>tdfx: s/Format/_BaseFormat/</li>
<li>mesa: consolidate assertions in teximage code</li>
<li>radeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2()</li>
<li>r600: set gl_texture_image::TexFormat field in r600SetTexBuffer2()</li>
<li>r200: set gl_texture_image::TexFormat field in r200SetTexBuffer2()</li>
<li>r300: set gl_texture_image::TexFormat field in r300SetTexBuffer2()</li>
<li>evergreen: set gl_texture_image::TexFormat field in evergreenSetTexBuffer()</li>
<li>st/mesa: fix glDrawPixels(depth/stencil) bugs</li>
<li>glsl: fix assorted MSVC warnings</li>
<li>mesa: add more work-arounds for acoshf(), asinhf(), atahf()</li>
<li>glsl: remove opt_constant_expression.cpp from SConscript</li>
<li>mesa: fix error messages and minor reindenting</li>
<li>mesa: whitespace cleanups</li>
<li>mesa: 80-column wrapping</li>
<li>mesa: reorder texture_error_check() params</li>
<li>mesa: minor clean-ups in context code</li>
<li>mesa: upgrade to glext.h version 66</li>
<li>mesa: pass gl_format to _mesa_init_teximage_fields()</li>
<li>mesa: fix error msg typo</li>
<li>glapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions</li>
<li>mesa: hook up GL 3.x entrypoints</li>
<li>docs: update some GL 3.0 status</li>
<li>mesa: fix get_texture_dimensions() for texture array targets</li>
<li>swrast: init alpha value to 1.0 in opt_sample_rgb_2d()</li>
<li>glsl: fix off by one in register index assertion</li>
<li>glsl: use gl_register_file in a few places</li>
<li>mesa: rename, make _mesa_register_file_name() non-static</li>
<li>mesa: _mesa_valid_register_index() to validate register indexes</li>
<li>mesa: replace #defines with new gl_shader_type enum</li>
<li>mesa: use gl_shader_type enum</li>
<li>glsl: better handling of linker failures</li>
<li>glsl: start restoring some geometry shader code</li>
<li>mesa: add assertion and update comment in _mesa_format_image_size()</li>
<li>mesa: added _mesa_format_image_size64()</li>
<li>x11: remove test_proxy_teximage() function</li>
<li>st/mesa: fix mapping of zero-sized buffer objects</li>
<li>gallivm/llvmpipe: squash merge of the llvm-context branch</li>
<li>mesa: raise max texture sizes to 16K</li>
<li>softpipe: increase max texture size to 16K</li>
<li>mesa: replace large/MAX_WIDTH stack allocations with heap allocations</li>
<li>mesa: replace large/MAX_WIDTH stack allocations with heap allocations</li>
<li>swrast: avoid large stack allocations in blend code</li>
<li>swrast: avoid large stack allocations in tex combine code</li>
<li>st/mesa: avoid large stack allocations in readpixels code</li>
<li>mesa: replace more MAX_WIDTH stack allocations with heap allocations</li>
<li>gallivm/llvmpipe: remove lp_build_context::builder</li>
<li>gallivm: fix null builder pointers</li>
<li>mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query</li>
<li>mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type</li>
<li>llvmpipe: fix broken stencil writemask</li>
<li>mesa: consolidate some compiler -D flags</li>
<li>swrast: allow GL_RG format in glDrawPixels()</li>
<li>swrast: fix indentation</li>
<li>swrast: accept GL_RG in glReadPixels()</li>
<li>swrast: restructure some glReadPixels() code</li>
<li>mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM</li>
<li>mesa: remove unneeded cast</li>
<li>mesa: update comments, remove dead code</li>
<li>st/mesa: new comment about updating state vars</li>
<li>mesa: add error margin to clip mask debug/check code</li>
<li>gallium/util: minor formatting fixes</li>
<li>mesa/llvm: use llvm-config --cppflags</li>
<li>st/mesa: fix mipmap generation bug</li>
<li>mesa: test for cube map completeness in glGenerateMipmap()</li>
<li>mesa: set gl_texture_object::_Complete=FALSE in incomplete()</li>
<li>mesa: consolidate glTexImage1/2/3D() code</li>
<li>mesa: simplify proxy texture code in texture_error_check()</li>
<li>mesa: consolidate the glTexSubImage1/2/3D() functions</li>
<li>mesa: consolidate glCopyTexImage1/2D() code</li>
<li>mesa: consolidate glCopyTexSubImage1/2/3D() functions</li>
<li>mesa: consolidate glCompressedTexImage1/2/3D() functions</li>
<li>mesa: make _mesa_test_proxy_teximage() easier to read</li>
<li>configure: use llvm-config --cppflags instead of --cflags</li>
<li>mesa: revamp error checking for compressed texture images</li>
<li>mesa: simplify target checking for TexImage functions</li>
<li>draw/llvm: don't flush in vs_llvm_delete()</li>
<li>tnl: Initialize gl_program_machine memory in run_vp.</li>
<li>tnl: a better way to initialize the gl_program_machine memory</li>
<li>mesa, st/mesa: disable GL_ARB_geometry_shader4</li>
<li>mesa/meta: fix broken assertion, rename stack depth var</li>
<li>glsl: new glsl_strtod() wrapper to fix decimal point interpretation</li>
<li>st/mesa: fix renderbuffer pointer check in st_Clear()</li>
</ul>
 
<p>Brian Rogers (1):</p>
<ul>
<li>mesa: Add missing else in do_row_3D</li>
</ul>
 
<p>Chad Versace (25):</p>
<ul>
<li>intel_extensions: Add ability to set GLSL version via environment</li>
<li>glsl: Add glsl_type::uvecN_type for N=2,3</li>
<li>glsl: Add lexer rules for uint and uvecN (N=2..4)</li>
<li>glsl: Changes in generated file glsl_lexer.cpp</li>
<li>glsl: Add lexer rules for &lt;&lt; and &gt;&gt; in GLSL 1.30</li>
<li>glsl: Change generated file glsl_lexer.cpp</li>
<li>glsl: Implement ast-to-hir for binary shifts in GLSL 1.30</li>
<li>glsl: Implement constant expr evaluation for bitwise-not</li>
<li>glsl: Implement constant expr evaluation for bit-shift ops</li>
<li>glsl: Implement constant expr evaluation for bitwise logic ops</li>
<li>glsl: Fix ir validation for bit logic ops</li>
<li>glsl: Define shift_result_type() in ast_to_hir.cpp</li>
<li>glsl: Implement ast-to-hir for bit-shift-assignment</li>
<li>glsl: Define bit_logic_result_type() in ast_to_hir.cpp</li>
<li>glsl: Implement ast-to-hir for bit-logic ops</li>
<li>glsl: Fix lexer rule for ^=</li>
<li>glsl: Commit generated file glsl_lexer.cpp</li>
<li>glsl: Fix ast-to-hir for ARB_fragment_coord_conventions</li>
<li>mesa: Fix C++ includes in sampler.cpp</li>
<li>glsl: Fix ir_expression::constant_expression_value()</li>
<li>glsl: Fix erroneous cast in ast_jump_statement::hir()</li>
<li>glsl: Fix Doxygen tag file in recently renamed files</li>
<li>glsl: Improve usage message for glsl_compiler</li>
<li>glsl: Fix linker bug in cross_validate_globals()</li>
<li>glsl: In ast_to_hir, check sampler array indexing</li>
</ul>
 
<p>Chia-I Wu (149):</p>
<ul>
<li>glapi: Fix build errors for ES.</li>
<li>glapi: Fix ES build errors again.</li>
<li>mesa: Update ES APIspec.xml.</li>
<li>st/xlib: Notify the context when the front/back buffers are swapped.</li>
<li>targets/egl: Use C++ compiler to link GL/ES state trackers.</li>
<li>libgl-xlib: Remove unused st_api_create_OpenGL.</li>
<li>st/egl: Split modeset code support to modeset.c.</li>
<li>st/egl: Rename kms backend to drm.</li>
<li>st/egl: s/kms/drm/ on the drm backend.</li>
<li>egl: Enable drm platform by default.</li>
<li>egl: Check extensions.</li>
<li>st/egl: Skip single-buffered configs in EGL.</li>
<li>mapi: Fix compiler warnings.</li>
<li>st/egl: Drop context argument from egl_g3d_get_egl_image.</li>
<li>targets/egl: Fix linking with libdrm.</li>
<li>st/vega: Fix version check in context creation.</li>
<li>egl: Use attribute names as the _EGLConfig member names.</li>
<li>egl: Access config attributes directly.</li>
<li>st/egl: Access _EGLConfig directly.</li>
<li>st/egl: Do not finish a fence that is NULL.</li>
<li>mesa: Remove unused vtxfmt_tmp.h.</li>
<li>egl_dri2: Drop the use of _egl[SG]etConfigKey.</li>
<li>egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.</li>
<li>egl_glx: Fix borken driver.</li>
<li>egl: Move attributes in _EGLImage to _EGLImageAttribs.</li>
<li>egl: Parse image attributes with _eglParseImageAttribList.</li>
<li>egl: Move fallback routines to eglfallbacks.c.</li>
<li>egl: Drop dpy argument from the link functions.</li>
<li>egl: Minor changes to the _EGLConfig interface.</li>
<li>egl: Minor changes to the _EGLScreen interface.</li>
<li>egl: Fix _eglModeLookup.</li>
<li>st/egl: Fix native_mode refresh mode.</li>
<li>egl: Add reference count for resources.</li>
<li>egl: Use reference counting to replace IsLinked or IsBound.</li>
<li>egl: Fix a false negative check in _eglCheckMakeCurrent.</li>
<li>st/egl: Use resource reference count for egl_g3d_sync.</li>
<li>egl_dri2: Fix a typo that make glFlush be called at wrong time.</li>
<li>glapi: Do not use glapidispatch.h.</li>
<li>glapi: Move glapidispatch.h to core mesa.</li>
<li>glapi: Do not use glapioffsets.h.</li>
<li>glapi: Merge glapioffsets.h into glapidispath.h.</li>
<li>vbo: Use CALL_* macros.</li>
<li>mesa: Remove unnecessary glapitable.h includes.</li>
<li>autoconf: Better client API selection.</li>
<li>docs: Update egl and openvg docs.</li>
<li>autoconf: Update configuration info.</li>
<li>Merge branch 'glapi-reorg'</li>
<li>targets: Add missing quotes to Makefile.xorg.</li>
<li>autoconf: st/vega requires --enable-openvg.</li>
<li>st/mesa: Unreference the sampler view in st_bind_surface.</li>
<li>autoconf: Tidy configure output for EGL.</li>
<li>targets/egl: Fix a warning with --disable-opengl build.</li>
<li>egl: Rework _eglGetSearchPath.</li>
<li>mesa: Select FEATURE_remap_table when multiple APIs are enabled.</li>
<li>mesa: Allow contexts of different APIs to coexist.</li>
<li>egl: Set up the pthread key even TLS is used.</li>
<li>st/egl: Add native_surface::present callback.</li>
<li>st/egl: Use native_surface::present callback.</li>
<li>d3d1x: Use native_surface::present.</li>
<li>st/egl: Remove flush_frontbuffer and swap_buffers.</li>
<li>st/egl: Add support for swap interval and swap behavior.</li>
<li>st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.</li>
<li>st/egl: Add extern "C" wrapper to native.h.</li>
<li>st/egl: Add native_display_buffer interface.</li>
<li>st/egl: Use native_display_buffer for EGL_MESA_drm_image.</li>
<li>autoconf: Add --enable-gallium-egl.</li>
<li>docs: Update egl docs.</li>
<li>st/dri: Add support for surfaceless current contexts.</li>
<li>egl_dri2: Fix __DRI_DRI2 version 1 support.</li>
<li>st/vega: Do not wait NULL fences.</li>
<li>gallium: Add st_api::name.</li>
<li>gallium: Add st_context_iface::share to st_api.</li>
<li>st/wgl: Use st_context_iface::share for DrvShareLists.</li>
<li>st/glx: Replace MESA_VERSION_STRING by xmesa_get_name.</li>
<li>mesa: Clean up core.h.</li>
<li>scons: Define IN_DRI_DRIVER.</li>
<li>tgsi: Add STENCIL to text parser.</li>
<li>st/vega: vegaLookupSingle should validate the state.</li>
<li>st/vega: Set wrap_r for mask and blend samplers.</li>
<li>st/vega: Fix vgReadPixels with a subrectangle.</li>
<li>egl_dri2: Fix one context, multiple surfaces.</li>
<li>auxiliary: util_blit_pixels_tex should restore the viewport.</li>
<li>st/vega: Fix a crash with empty paths.</li>
<li>st/vega: Masks and surfaces should share orientation.</li>
<li>st/vega: No flipping in vg_prepare_blend_surface.</li>
<li>st/vega: Fix a typo in EXTENDED_BLENDER_OVER_FUNC.</li>
<li>llvmpipe: Fix build errors on x86.</li>
<li>st/vega: Overhaul renderer with renderer states.</li>
<li>st/vega: Add DRAWTEX renderer state.</li>
<li>st/vega: Add SCISSOR renderer state.</li>
<li>st/vega: Add CLEAR renderer state for vgClear.</li>
<li>st/vega: Add FILTER renderer state for image filtering.</li>
<li>st/vega: Use the renderer for vgMask.</li>
<li>st/vega: Add POLYGON_STENCIL and POLYGON_FILL renderer state.</li>
<li>st/vega: Delay fb state update to vg_validate_state.</li>
<li>st/vega: Use st_framebuffer for fb width/height.</li>
<li>st/vega: Move g3d states to renderer.</li>
<li>st/vega: Make shader_bind call into the renderer.</li>
<li>st/vega: vg_manager should care about only the color buffer.</li>
<li>st/vega: Clean up vg_context fields and functions.</li>
<li>st/vega: Clean up renderer fields and functions.</li>
<li>st/vega: vg_copy_texture and vg_copy_surface should share code.</li>
<li>st/vega: Get rid of renderer_copy_texture.</li>
<li>st/vega: Update to latest headers.</li>
<li>st/vega: Fix image sampler views for alpha-only formats.</li>
<li>st/vega: Make path_render and path_stroke take a matrix.</li>
<li>st/vega: Make image_draw take a matrix.</li>
<li>st/vega: Add primitive text support.</li>
<li>st/vega: Revive mask layer support.</li>
<li>st/vega: More flexible shader selection.</li>
<li>st/vega: Add color transformation support.</li>
<li>st/vega: Bump version to 1.1.</li>
<li>st/vega: Fix paint coordinates transformations.</li>
<li>st/vega: Fix negated logic in image_draw.</li>
<li>st/vega: Fix degenerate paints.</li>
<li>st/vega: Simplify radial gradient.</li>
<li>st/vega: Remove st_inlines.h.</li>
<li>st/vega: Delay blend texture creation until needed.</li>
<li>st/vega: Create drawing surface mask as needed.</li>
<li>st/vega: Initialize pipe states with renderer.</li>
<li>st/vega: Avoid unnecessary constant bufer upload.</li>
<li>st/vega: Destroy the pipe context with vg_context.</li>
<li>st/vega: polygon_array requires a deep free.</li>
<li>st/egl: Set pipe_resource::array_size to 1.</li>
<li>st/vega: Set pipe_resource::array_size to 1.</li>
<li>st/vega: Move vertex transformation to shader.</li>
<li>st/vega: Add a missing break.</li>
<li>st/vega: Add some comments to pipeline shaders.</li>
<li>st/vega: Refactor blend shaders.</li>
<li>st/vega: Move masking after blending.</li>
<li>st/vega: Add support for per-channel alpha.</li>
<li>st/vega: Blending should use premultiplied alpha.</li>
<li>st/vega: Fix VG_BLEND_MULTIPLY.</li>
<li>st/vega: Add blend shaders for all blend modes.</li>
<li>st/vega: Fix pipe blend state for various blend modes.</li>
<li>egl: _eglFilterArray should not allocate.</li>
<li>mapi: Rewrite mapi_abi.py to get rid of preprocessor magic.</li>
<li>vbo: Drop second ATTR macro.</li>
<li>vbo: Fix GLES2 glVertexAttrib.</li>
<li>mesa: Do not advertise GL_OES_texture_3D.</li>
<li>mesa: Fix GL_FIXED arrays.</li>
<li>mesa: Fix glTexCoordPointer with type GL_FIXED.</li>
<li>st/egl: Plug pbuffer leaks.</li>
<li>st/egl: Fix eglCopyBuffers.</li>
<li>st/egl: Assorted fixes for dri2_display_get_configs.</li>
<li>docs/egl: Update ../egl.html.</li>
<li>st/egl: Fix eglChooseConfig when configs is NULL.</li>
<li>docs: Add an example for EGL_DRIVERS_PATH.</li>
<li>autoconf: Fix --with-driver=xlib --enable-openvg.</li>
</ul>
 
<p>Chris Wilson (2):</p>
<ul>
<li>i915g: Fix closure of full batch buffers</li>
<li>intel: Check for unsupported texture when finishing using as a render target</li>
</ul>
 
<p>Christoph Bumiller (80):</p>
<ul>
<li>nv50: import new compiler</li>
<li>nouveau: update nouveau_class.h</li>
<li>nv50: introduce the big formats table</li>
<li>nv50: don't produce MOV immediate to output reg in store opt</li>
<li>nv50: change back accidentally swapped UNORM,SNORM vertex type</li>
<li>nv50: add/fix some license headers</li>
<li>nv50: simple reload elimination and local CSE</li>
<li>nv50: fix constant_operand opt mul by 2 case</li>
<li>nv50: permit usage of undefined TGSI TEMPs</li>
<li>nv50: add missing 2nd source for POW multiplication</li>
<li>nv50: add signed RGTC1 to format table, allow 2_10_10_10 for vbufs</li>
<li>nv50: fix for empty BBs</li>
<li>nv50: insert MOVs also for PHI sources from dominating block</li>
<li>nv50: explicitly set src type for SET ops</li>
<li>nv50: fixes for nested IFs</li>
<li>nv50: don't eliminate loads to dedicated values</li>
<li>nv50: fix constbuf validation</li>
<li>nv50: build proper phi functions in the first place</li>
<li>nv50: fix reg count</li>
<li>nv50: begin implementing loops</li>
<li>nv50: more constant folding</li>
<li>nv50: loops part 2</li>
<li>nv50: flatten simple IF/ELSE/ENDIF constructs</li>
<li>nv50: fix thinko in store to output reg possible check</li>
<li>nv50: generate JOINs for outermost IF clauses</li>
<li>nv50: more TGSI opcodes (SIN, SCS, ARL, RET, KILP)</li>
<li>nv50: fix PSIZ and PRIMID mapping</li>
<li>nv50: check dst compatibility in CSE</li>
<li>nv50: initialize edgeflag input index</li>
<li>nv50: emit predicate for interp</li>
<li>Merge remote branch 'origin/master' into nv50-compiler</li>
<li>nv50: DP2, fix ARL</li>
<li>nv50: yet another case we need a nop.exit</li>
<li>nv50: fix check for sprite/point coord enable</li>
<li>nv50: handle TEXTURE_SWIZZLE and GEOMETRY_SHADER4 caps</li>
<li>nv50: set the FragDepth output index</li>
<li>nv50: turn off verbose debug output by default</li>
<li>nv50: attempt at making more complicated loops work</li>
<li>nv50: SSG</li>
<li>nv50: make FrontFacing -1 or +1</li>
<li>nv50: re-add proper TEXBIAS sequence</li>
<li>nv50: make use of TGSI immediate type</li>
<li>nv50: must join SELECT inputs before MOV inputs</li>
<li>nv50: fix XPD, was negated</li>
<li>nv50: fix find_dom_frontier</li>
<li>nv50: fix build-predicate function</li>
<li>Merge remote branch 'origin/master' into nv50-compiler</li>
<li>nv50: load address register before using it, not after</li>
<li>nv50: save tgsi instructions</li>
<li>nv50: prepare for having multiple functions</li>
<li>nv50: don't parse again in tgsi_2_nc</li>
<li>nv50: use actual loads/stores if TEMPs are accessed indirectly</li>
<li>nv50: create value references with the right type</li>
<li>nv50: duplicate interps in load_proj_tex_coords</li>
<li>nv50: address regs are 16 bit</li>
<li>nv50: fix can_load check for 3rd source</li>
<li>nv50: reduce bb_reachable_by runtime from pot to linear</li>
<li>nv50: minor compiler fixes and cleanups</li>
<li>nv50: cannot move from local mem to output reg directly</li>
<li>nv50: newlines in shader bincode printing</li>
<li>nv50: match TEMP limit with nv50 ir builder</li>
<li>nv50: handle TGSI EXP and LOG again</li>
<li>nv50: check for immediates when turning MUL ADD into MAD</li>
<li>nv50: interp cannot write flags reg</li>
<li>nv50: MOV TEMP[0], -CONST[0] must be float32 negation</li>
<li>nv50: fix indirect CONST access with large or negative offsets</li>
<li>nv50: fix TXP depth comparison value</li>
<li>nv50: consider address register in reload elimination</li>
<li>nv50: improve and fix modifier folding optimization</li>
<li>nv50: put low limit on REG_ALLOC_TEMP and FP_RESULT_COUNT</li>
<li>Merge remote branch 'origin/nv50-compiler'</li>
<li>nv50: don't segfault on shaders with 0 instructions</li>
<li>nv50: get shader fixups/relocations into working state</li>
<li>nv50: add relocs for stack and local mem buffers</li>
<li>nv50: emit constbuf relocs before uploading constants</li>
<li>nv50: fix typo in fifo packet length limit</li>
<li>nv50: use formats table in nv50_surface.c</li>
<li>nv50: use CLEAR_BUFFERS for surface fills</li>
<li>nv50: fix/handle a few more PIPE_CAPs</li>
<li>nv50: fix GP state bind and validate</li>
</ul>
 
<p>Corbin Simpson (8):</p>
<ul>
<li>r600g: Use align() instead of handrolled code.</li>
<li>r600g: Trivially deobfuscate r600_hw_states.</li>
<li>r600g: Deobfuscate and comment a few more functions in r600_hw_states.</li>
<li>r600g: Clean up some indentation and |= vs. | usage.</li>
<li>r600g: Fix false and true.</li>
<li>r600g: "tmp" is such a bad name for a texture.</li>
<li>r600g: Clean up PS setup.</li>
<li>r600g: Cleanup viewport floats.</li>
</ul>
 
<p>Daniel Lichtenberger (1):</p>
<ul>
<li>radeon: fix potential segfault in renderbuffer update</li>
</ul>
 
<p>Daniel Vetter (21):</p>
<ul>
<li>r200: revalidate after radeon_update_renderbuffers</li>
<li>i915g: rip out -&gt;sw_tiled</li>
<li>i915g: s/hw_tiled/tiling</li>
<li>i915g: add pineview pci ids</li>
<li>i915g: kill RGBA/X formats</li>
<li>i915g: kill buf-&gt;map_gtt</li>
<li>i915g: kill idws-&gt;pool</li>
<li>i915g: drop alignment parameter from iws-&gt;buffer_create</li>
<li>i915g: add winsys function to create tiled buffers</li>
<li>i915g: switch to tiled allocations, kill set_fence</li>
<li>i915g: prepare winsys/batchbuffer for execbuf2</li>
<li>i915g: return tiling in iws-&gt;buffer_from_handle</li>
<li>i915g: implement unfenced color&amp;depth buffer using tiling bits</li>
<li>i915g: implement unfenced relocs for textures using tiling bits</li>
<li>i915g: postpone mipmap/face offset calculation</li>
<li>i915g: don't pot-align stride for tiled buffers</li>
<li>i915g: enable X-tiling for textures</li>
<li>i915g: switch rendering to mipmapped textures to (x,y) offsets</li>
<li>i915g: enable x-tiling for render targets</li>
<li>i915g: assert(depth_surface-&gt;offset == 0)</li>
<li>i915g: track TODO items</li>
</ul>
 
<p>Dave Airlie (182):</p>
<ul>
<li>r300g: fix buffer reuse issue caused by previous commit</li>
<li>r600g: pull r600_draw struct out into header</li>
<li>r600g: use index min/max + index buffer offset.</li>
<li>r600g: add vgt dma src defines</li>
<li>r600g: fixup texture state on evergreen.</li>
<li>r600g: fix texture bos and avoid doing depth blit on evergreen</li>
<li>r600g: hide radeon_ctx inside winsys.</li>
<li>r600g: attempt to abstract kernel bos from pipe driver.</li>
<li>r600g: move constant buffer creation behind winsys abstraction.</li>
<li>r600g: use malloc bufmgr for constant buffers</li>
<li>r600g: add support for kernel bo</li>
<li>r600g: add winsys bo caching.</li>
<li>r600g: add upload manager support.</li>
<li>r600g: fixup map flushing.</li>
<li>r600g: use calloc for ctx bo allocations</li>
<li>r600g: oops got the use_mem_constant the wrong way around.</li>
<li>r600g; add uses waterfall to asm cf for r6xx.</li>
<li>r600g: only emit uses waterfall on r6xx hw.</li>
<li>util/r300g: split the r300 index buffer modifier functions out to util</li>
<li>r600g: modify index buffers for sizes the hw can't deal with.</li>
<li>r600g: send correct surface base update for multi-cbufs</li>
<li>r600g: fix fbo-drawbuffers-maxtargets</li>
<li>r600g: clean up valgrind issues on maxtargets test.</li>
<li>r600g: drop debugging that snuck in</li>
<li>r600g: fix tiling support for ddx supplied buffers</li>
<li>r600g: add z16 to color setup</li>
<li>r600g: add color/texture support for more depth formats.</li>
<li>r600g: fix r700 cube map sizing.</li>
<li>r600g: fixup r700 CB_SHADER_CONTROL register.</li>
<li>r600g: add missing BC_INST wrapper for evergreen</li>
<li>r600g: only flush for the correct colorbuffer, not all of them.</li>
<li>r600g: deal with overflow of VTX/TEX CF clauses.</li>
<li>r600g: set back to correct codepaths.</li>
<li>r600g: fixup evergreen miptree setup.</li>
<li>r600g: fix eg texture borders.</li>
<li>r600g: fix typo in struct member name</li>
<li>r600g: cleanup some of the DB blit code</li>
<li>r600g: make stencil readback work</li>
<li>r600g: disable dirty handling on texture from depth code.</li>
<li>r600g: use floats instead of hex for blit vbo</li>
<li>r600g: fix depth readback on rv610 and other quirky variants.</li>
<li>r600g: fix typo in evergreen register list</li>
<li>u_blitter: add a custom blitter call passing a dsa cso</li>
<li>r600g: use blitter to do db-&gt;cb flushing.</li>
<li>r600g: fix warnings since last commit.</li>
<li>egl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6e</li>
<li>r300g: fix point sprite coord.</li>
<li>r600g: add vert support for 16/16 and 16/16/16 floats.</li>
<li>r600g: add some more vertex format support.</li>
<li>r600g: some more vertex formats</li>
<li>r600g: fix draw-elements and draw-elements-base-vertex</li>
<li>r600g: drop index_offset parameter to index buffer translate.</li>
<li>r600g: fixup tex wrapping.</li>
<li>r600g: fixup VP-&gt;FP output-&gt;input routing.</li>
<li>r600g: fix typo in r700 alu emit</li>
<li>r600g: fixup sprite coord enable.</li>
<li>r600g: fix polygon mode</li>
<li>mesa/mipmap: fix warning since 1acadebd6270d3604b026842b8a21360968618a0</li>
<li>r600g: add eg poly mode code.</li>
<li>r600g: make index bias fix for evergreen</li>
<li>r600g: add eg db count control register.</li>
<li>r300g: fix glsl-fs-pointcoord</li>
<li>r600g: add evergreen texture resource properly.</li>
<li>r600g: fix db flush breaking config state</li>
<li>r600g: on evergreen the centroid isn't set in this register.</li>
<li>r600g: add back evergreen name.</li>
<li>r600g: add evergreen texture border support to new path</li>
<li>r600g: move radeon.h members around to add back map flushing.</li>
<li>r600g: add initial vertex translate support.</li>
<li>r600g: remove old assert from new codepath</li>
<li>Revert "r600g: add initial vertex translate support."</li>
<li>r600g: port r300g fix for X* formats in texformat code</li>
<li>r600g: add L8A8 unorm.</li>
<li>r600g: clean up some code from move to new paths.</li>
<li>r600g: return string for chip family</li>
<li>r600g: use Elements macro instead of manual sizeofs</li>
<li>r600g: fix evergreen depth flushing.</li>
<li>r600g: add winsys support for CTL constants.</li>
<li>r600g: drop depth quirk on evergreen</li>
<li>r600g: add reloc for evergreen color attrib</li>
<li>r600g: realign evergreen code with r600 code.</li>
<li>r600g: add assembler support for other vtx fetch fields.</li>
<li>r600g: fixup vertex format picking.</li>
<li>r600g: sync vertex/texture cache on resources on evergreen</li>
<li>r600g: add cb flushing for extra buffers + depth buffer on r600/evergreen</li>
<li>r600g: fix evergreen draw-buffers</li>
<li>r600g: flush SH cache on constant change on evergreen</li>
<li>r600g: only set the Z export if shader exports it.</li>
<li>r600g: setup basic loop consts on r600 + evergreen.</li>
<li>mesa/st: initial attempt at RG support for gallium drivers</li>
<li>r600g: break out of search for reloc bo after finding it.</li>
<li>r600g: the code to check whether a new vertex shader is needed was wrong</li>
<li>r600g: fix wwarning in bo_map function</li>
<li>r600g: TODO domain management</li>
<li>r600g: add bo fenced list.</li>
<li>pb: don't keep checking buffers after first busy</li>
<li>r600g: add bo busy backoff.</li>
<li>r600g: drop mman allocator</li>
<li>r600g: drop use_mem_constant.</li>
<li>r600g: avoid unneeded bo wait</li>
<li>pb: fix numDelayed accounting</li>
<li>r600g: add evergreen stencil support.</li>
<li>r600g: use format from the sampler view not from the texture.</li>
<li>r600g: fix Z export enable bits.</li>
<li>r600g: add some RG texture format support.</li>
<li>r600g: drop width/height per level storage.</li>
<li>r600g: fix input/output Z export mixup for evergreen.</li>
<li>r600g: evergreen has no request size bit in texture word4</li>
<li>r600g: enable vertex samplers.</li>
<li>r600g: add TXL opcode support.</li>
<li>r600g: don't run with scissors.</li>
<li>r600g: fix typo in vertex sampling on r600</li>
<li>gallium/tgsi: add support for stencil writes.</li>
<li>gallium/format: add support for X24S8 and S8X24 formats.</li>
<li>gallium/format: add X32_S8X24_USCALED format.</li>
<li>gallium/util: add S8 tile sampling support.</li>
<li>mesa: add support for FRAG_RESULT_STENCIL.</li>
<li>mesa: improve texstore for 8/24 formats and add texstore for S8.</li>
<li>softpipe: add support for shader stencil export capability</li>
<li>st/mesa: add option to choose a texture format that we won't render to.</li>
<li>st/mesa: use shader stencil export to accelerate shader drawpixels.</li>
<li>r600g: add support for S8, X24S8 and S8X24 sampler formats.</li>
<li>r600g: add shader stencil export support.</li>
<li>glsl: add support for shader stencil export</li>
<li>st/mesa: enable stencil shader export extension if supported</li>
<li>r600g: fix depth0 setting</li>
<li>r600g: fix scissor/cliprect confusion</li>
<li>r600g: store samplers/views across blit when we need to modify them</li>
<li>r600g: reduce size of context structure.</li>
<li>r600g: the vs/ps const arrays weren't actually being used.</li>
<li>r600g: add copy into tiled texture</li>
<li>r600g: split out miptree setup like r300g</li>
<li>r600g: use common texture object create function</li>
<li>r600g: rename pitch in texture to pitch_in_bytes</li>
<li>r600g: remove bpt and start using pitch_in_bytes/pixels.</li>
<li>r600g: fix transfer stride.</li>
<li>r600g: drop all use of unsigned long</li>
<li>r600g: use blitter for hw copy region</li>
<li>r600g: evergreen add stencil export bit</li>
<li>r600g: add missing eg reg definition</li>
<li>r600g: fix stencil export for evergreen harder</li>
<li>r600g: drop unused context members</li>
<li>r600g: only pick centroid coordinate when asked.</li>
<li>r600g: fixup pos/face ena/address properly</li>
<li>r600g: fixup typo in macro name</li>
<li>r600g: select linear interpolate if tgsi input requests it</li>
<li>r300g: clean up warning due to unknown cap.</li>
<li>tgsi: add scanner support for centroid inputs</li>
<li>r600g: evergreen interpolation support.</li>
<li>r600g: add evergreen ARL support.</li>
<li>r600g: switch to a common formats.h file since they are in different regs</li>
<li>r600g: add defines for tiling</li>
<li>r600g: get tiling info from kernel</li>
<li>r600g: set tiling bits in hw state</li>
<li>r600g: do proper tracking of views/samplers.</li>
<li>r600g: fix typo in tiling setup cb code.</li>
<li>r600g: depth needs to bound to ds</li>
<li>r600g: attempt to cleanup depth blit</li>
<li>r600g: fix transfer function for tiling.</li>
<li>r600g: retrieve tiling info from kernel for shared buffers.</li>
<li>r600g: all non-0 mipmap levels need to be w/h aligned to POT.</li>
<li>r600g: move to per-miplevel array mode.</li>
<li>r600g: start adding hooks for aligning width/height for tiles.</li>
<li>r600g: add r600 surface to store the aligned height.</li>
<li>r600g: introduce a per-driver resource flag for transfers.</li>
<li>r600g: add texture tiling alignment support.</li>
<li>r600g: add texture tiling enable under a debug option.</li>
<li>r600g: initial translate state support</li>
<li>r600g: start splitting out common code from eg/r600.</li>
<li>r600g: not fatal if we can't get tiling info from kernel</li>
<li>r600g: merge more of the common r600/evergreen state handling</li>
<li>r600g: drop more common state handling code</li>
<li>r600g: fix magic 0x1 -&gt;flat shade ena</li>
<li>r600g: add assembler support for all the kcache fields.</li>
<li>gallium/noop: report GL 2.1</li>
<li>r600g: pick correct color swap for A8 fbos.</li>
<li>r300g/r600g: bump cache manager timeouts to 1s</li>
<li>r600g: it looks like r600 can handle dword offsets in the indices.</li>
<li>r300g: try and use all of vertex constant space</li>
<li>r300g: fixup rs690 tiling stride alignment calculations.</li>
<li>r600g: fix evergreen segfaults.</li>
<li>r600g: hack around property unknown issues.</li>
</ul>
 
<p>Eric Anholt (300):</p>
<ul>
<li>glsl: Add definition of gl_TextureMatrix inverse/transpose builtins.</li>
<li>i965: Share the KIL_NV implementation between glsl and non-glsl.</li>
<li>i965: Also enable CC statistics when doing OQs.</li>
<li>i965: Track the windowizer's dispatch for kill pixel, promoted, and OQ</li>
<li>glsl: Rework assignments with write_masks to have LHS chan count match RHS.</li>
<li>glsl: Fix copy'n'wasted ir_noop_swizzle conditions.</li>
<li>ir_to_mesa: Only compare vector_elements present for any_nequal/all_equal</li>
<li>i965: Fix the vector/expression splitting for the write_mask change.</li>
<li>i965: When splitting vector variable assignment, ignore unset channels.</li>
<li>i965: Update expression splitting for the vector-result change to compares.</li>
<li>i965: Warning fix for vector result any_nequal/all_equal change.</li>
<li>mesa: Remove the non-required ARB_imaging extension.</li>
<li>mesa: Remove EXT_histogram.</li>
<li>mesa: Remove SGI_color_table.</li>
<li>mesa: Remove SGI_color_matrix.</li>
<li>mesa: Remove EXT_convolution.</li>
<li>intel: Remove disabled stencil drawpixels acceleration.</li>
<li>intel: Remove unnecessary minimum pitch alignment to 32 bytes.</li>
<li>intel: Replace my intel_texture_bitmap code with _mesa_meta_Bitmap.</li>
<li>radeon: Remove copied minimum pitch alignment code.</li>
<li>unichrome: Mostly revert my convolution removal changes.</li>
<li>intel: Remove dead intelIsTextureResident().</li>
<li>i915: Remove a dead if (0) block.</li>
<li>intel: Dead comment removal.</li>
<li>intel: Corresponding FinishRenderTexture debug to BeginRenderTexture.</li>
<li>i965: Add support for rendering to SARGB8 FBOs.</li>
<li>intel: Fix segfault on INTEL_DEBUG=fbo with unsupported framebuffers.</li>
<li>intel: Add fallback debug to glGenerateMipmap.</li>
<li>intel: More reverting of the sw fallback for depth texture border color.</li>
<li>intel: Improve some of the miptree debugging.</li>
<li>mesa: Fix type typo in glGenerateMipmap handling of GL_UNSIGNED_INT data.</li>
<li>glsl: Fix broadcast_index of lower_variable_index_to_cond_assign.</li>
<li>glsl: Add validation that a swizzle only references valid channels.</li>
<li>i965: Fix up writemasked assignments in the new FS.</li>
<li>i965: Remove swizzling of assignment to vector-splitting single-channel LHS.</li>
<li>i965: Handle all_equal/any_nequal in the new FS.</li>
<li>i965: Fix vector splitting RHS channel selection with sparse writemasks.</li>
<li>i965: Add support for dFdx()/dFdy() to the FS backend.</li>
<li>i965: Add support for attribute interpolation on Sandybridge.</li>
<li>i965: Set up inputs to the fragment shader according to FP InputsRead.</li>
<li>i965: Add support for POW in gen6 FS.</li>
<li>i965: Fix negation in the new FS backend.</li>
<li>i965: Actually track the "if" depth in loop in the new FS backend.</li>
<li>i965: Apply the same set of lowering passes to new FS as to Mesa IR.</li>
<li>i965: Fix valgrind complaint about base_ir for new FS debugging.</li>
<li>i965: Fix up the FS backend for the variable array indexing pass.</li>
<li>i965: Set the variable type when dereferencing an array.</li>
<li>i965: Add support for dereferencing structs to the new FS backend.</li>
<li>i965: Add support for struct, array, and matrix uniforms to FS backend.</li>
<li>i965: Fix all non-snb regression in the snb attribute interpolation commit.</li>
<li>i965: Fix up part of my Sandybridge attributes support patch.</li>
<li>i965: Add support for gl_FrontFacing to the new FS backend.</li>
<li>i965: Subtract instead of adding when computing y delta in new FS backend.</li>
<li>mesa: Pull ir_to_mesa's sampler number fetcher out to shared code.</li>
<li>i965: Set up sampler numbers in the FS backend.</li>
<li>i965: Add support for non-color render target write data to new FS backend.</li>
<li>i965: Add support for MRT to the new FS backend.</li>
<li>i965: Add support for ir_loop counters to the new FS backend.</li>
<li>i965: Add support for ARB_fragment_coord_conventions to the new FS backend.</li>
<li>glsl: Also update implicit sizes of varyings at link time.</li>
<li>i965: Do interpolation for varying matrices and arrays in the FS backend.</li>
<li>i965: Don't try to emit interpolation for unused varying slots.</li>
<li>i965: Fix array indexing of arrays of matrices.</li>
<li>i965: Clean up obsolete FINISHME comment.</li>
<li>mesa: Move the list of builtin uniform info from ir_to_mesa to shared code.</li>
<li>i965: Add support for builtin uniforms to the new FS backend.</li>
<li>i965: Fix use of undefined mem_ctx in vector splitting.</li>
<li>i956: Make new FS discard do its work in a temp, not the null reg!</li>
<li>i965: Clean up the virtual GRF handling.</li>
<li>ra: First cut at a graph-coloring register allocator for mesa.</li>
<li>i965: First cut at register allocation using graph coloring.</li>
<li>i965: Add live interval analysis and hook it up to the register allocator.</li>
<li>i965: Remove my "safety counter" code from loops.</li>
<li>i965: Fix whole-structure/array assignment in new FS.</li>
<li>mesa: Don't reference a W component in setting up a vec3 uniform component.</li>
<li>i965: Fix new FS handling of builtin uniforms with packed scalars in structs.</li>
<li>glsl: Add a lowering pass for texture projection.</li>
<li>i965: Use the lowering pass for texture projection.</li>
<li>i965: Split the gen4 and gen5 sampler handling apart.</li>
<li>i965: Add gen6 attribute interpolation to new FS backend.</li>
<li>i965: Fix the gen6 jump size for BREAK/CONT in new FS.</li>
<li>i965: Also increment attribute location when skipping unused slots.</li>
<li>i965: Pre-gen6, map VS outputs (not FS inputs) to URB setup in the new FS.</li>
<li>i965: Add real support for pre-gen5 texture sampling to the new FS.</li>
<li>i965: Fix up copy'n'pasteo from moving coordinate setup around for gen4.</li>
<li>i965: Restore the forcing of aligned pairs for delta_xy on chips with PLN.</li>
<li>i965: When producing a single channel swizzle, don't make a temporary.</li>
<li>i965: Add a sanity check for register allocation sizes.</li>
<li>i965: Fix off-by-ones in handling the last members of register classes.</li>
<li>i965: Don't try to emit code if we failed register allocation.</li>
<li>i965: Add support for EXT_texture_swizzle to the new FS backend.</li>
<li>i965: Set up swizzling of shadow compare results for GL_DEPTH_TEXTURE_MODE.</li>
<li>i965: Fix glean/texSwizzle regression in previous commit.</li>
<li>i965: Be more conservative on live interval calculation.</li>
<li>i965: Add trivial dead code elimination in the new FS backend.</li>
<li>i965: Add initial folding of constants into operand immediate slots.</li>
<li>i965: In disasm, gen6 fb writes don't put msg reg # in destreg_conditionalmod.</li>
<li>i965: Add support for gen6 FB writes to the new FS.</li>
<li>i965: Enable the constant propagation code.</li>
<li>i965: Also do constant propagation for the second operand of CMP.</li>
<li>i965: Add back gen6 headerless FB writes to the new FS backend.</li>
<li>i965: Gen6 no longer has the IFF instruction; always use IF.</li>
<li>i965: Fix up IF/ELSE/ENDIF for gen6.</li>
<li>i965: Fix botch in the header_present case in the new FS.</li>
<li>i965: Add some clarification of the WECtrl field.</li>
<li>i965: Don't do 1/w multiplication in new FS for gen6</li>
<li>i965: Gen6's sampler messages are the same as Ironlake.</li>
<li>i965: Refactor gl_FrontFacing setup out of general variable setup.</li>
<li>i965: Add support for gl_FrontFacing on gen6.</li>
<li>i965: Don't assume that WPOS is always provided on gen6 in the new FS.</li>
<li>i965: Fix gen6 pointsize handling to match pre-gen6.</li>
<li>i965: Disable emitting if () statements on gen6 until we really fix them.</li>
<li>i965: Normalize cubemap coordinates like is done in the Mesa IR path.</li>
<li>mesa: Simplify a bit of _mesa_add_state_reference using memcmp.</li>
<li>i965: Drop the check for duplicate _mesa_add_state_reference.</li>
<li>i965: Drop the check for YUV constants in the param list.</li>
<li>i965: Handle swizzles in the addition of YUV texture constants.</li>
<li>i965: Fix gen6 WM push constants updates.</li>
<li>i965: Fix new FS gen6 interpolation for sparsely-populated arrays.</li>
<li>i965: Enable attribute swizzling (repositioning) in the gen6 SF.</li>
<li>i965: Add register coalescing to the new FS backend.</li>
<li>i965: Split FS_OPCODE_DISCARD into two steps.</li>
<li>i965: Reduce register interference checks for changed FS_OPCODE_DISCARD.</li>
<li>i965: Move FS backend structures to a header.</li>
<li>i965: Give the math opcodes information on base mrf/mrf len.</li>
<li>i965: Give the FB write and texture opcodes the info on base MRF, like math.</li>
<li>i965: Compute to MRF in the new FS backend.</li>
<li>i965: Don't consider gen6 math instructions to write to MRFs.</li>
<li>i965: Add a couple of checks for gen6 math instruction limits.</li>
<li>i965: Don't compute-to-MRF in gen6 math instructions.</li>
<li>i965: Expand uniform args to gen6 math to full registers to get hstride == 1.</li>
<li>i965: Don't compute-to-MRF in gen6 VS math.</li>
<li>i965: Fix gen6 pixel_[xy] setup to avoid mixing int and float src operands.</li>
<li>i965: Always use the new FS backend on gen6.</li>
<li>i965: Fix missing "break;" in i2b/f2b, and missing AND of CMP result.</li>
<li>intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.</li>
<li>i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs.</li>
<li>i965: Add support for rescaling GL_TEXTURE_RECTANGLE coords to new FS.</li>
<li>i965: Set class_sizes[] for the aligned reg pair class.</li>
<li>i965: Update the live interval when coalescing regs.</li>
<li>i965: Add a pass to the FS to split virtual GRFs to float channels.</li>
<li>i965: Add a function for handling the move of boolean values to flag regs.</li>
<li>i965: Add peepholing of conditional mod generation from expressions.</li>
<li>i965: Enable the new FS backend on pre-gen6 as well.</li>
<li>i965: Fix texturing on pre-gen5.</li>
<li>i965: Set the type of the null register to fix gen6 FS comparisons.</li>
<li>i965: Disable the debug printf I added for FS disasm.</li>
<li>i965: Fix a weirdness in NOT handling.</li>
<li>i965: Fix assertion failure on gen6 BufferSubData to busy BO.</li>
<li>i965: Assert out on gen6 VS constant buffer reads that hang the GPU for now.</li>
<li>i965: Fix scissor-offscreen on gen6 like we did pre-gen6.</li>
<li>i965: Avoid blits in BufferCopySubdata on gen6.</li>
<li>i965: Tell the shader compiler when we expect depth writes for gen6.</li>
<li>i965: Remove the gen6 emit_mi_flushes I sprinkled around the driver.</li>
<li>i965: Disable thread dispatch when the FS doesn't do any work.</li>
<li>i965: Add EU emit support for gen6's new IF instruction with comparison.</li>
<li>i965: Set the source operand types for gen6 if/else/endif to integer.</li>
<li>i965: Use the new style of IF statement with embedded comparison on gen6.</li>
<li>i965: Split register allocation out of the ever-growing brw_fs.cpp.</li>
<li>i965: Fix gl_FrontFacing emit on pre-gen6.</li>
<li>i965: Add support for register spilling.</li>
<li>i965: Don't emit register spill offsets directly into g0.</li>
<li>i965: Correct scratch space allocation.</li>
<li>i965: Be more aggressive in tracking live/dead intervals within loops.</li>
<li>i965: Move the FS disasm/annotation printout to codegen time.</li>
<li>i965: Add support for pull constants to the new FS backend.</li>
<li>i965: Add EU code for dword scattered reads (constant buffer array indexing).</li>
<li>i965: Clarify an XXX comment in FB writes with real info.</li>
<li>i965: Use SENDC on the first render target write on gen6.</li>
<li>i965: Clear some undefined fields of g0 when using them for gen6 FB writes.</li>
<li>i965: Add disasm for the flag register.</li>
<li>i965: Add support for discard instructions on gen6.</li>
<li>i965: Handle new ir_unop_round_even in channel expression splitting.</li>
<li>i965: Fix typo in comment about state flags.</li>
<li>i965: Set up the constant buffer on gen6 when it's needed.</li>
<li>i965: Add support for constant buffer loads on gen6.</li>
<li>i965: Drop the eot argument to read messages, which can never be set.</li>
<li>i965: Fix VS URB entry sizing.</li>
<li>i965: Disable register spilling on gen6 until it's fixed.</li>
<li>i965: Make FS uniforms be the actual type of the uniform at upload time.</li>
<li>i965: Add user clip planes support to gen6.</li>
<li>i965: Update gen6 SF state when point state (sprite or attenuation) changes.</li>
<li>i965: Upload required gen6 VS push constants even when using pull constants.</li>
<li>i965: Update the gen6 stencil ref state when stencil state changes.</li>
<li>mesa: Make metaops use program refcounts instead of names.</li>
<li>mesa: Don't compute an unused texture completeness debug string.</li>
<li>intel: For batch, use GTT mapping instead of writing to a malloc and copying.</li>
<li>intel: Annotate debug printout checks with unlikely().</li>
<li>intel: Remove the magic unaligned memcpy code.</li>
<li>i965: Remove dead intel_structs.h file.</li>
<li>intel: Avoid taking logbase2 of several things that we max.</li>
<li>intel: Remove duplicated teximage miptree to object miptree promotion.</li>
<li>intel: Remove leftover dri1 locking fields in the context.</li>
<li>mesa: Fix delayed state flagging for EXT_sso-related program changes.</li>
<li>intel: Fix the client-side swapbuffers throttling.</li>
<li>Revert "intel: Fix the client-side swapbuffers throttling."</li>
<li>i965: Allow OPCODE_SWZ to put immediates in the first arg.</li>
<li>i965: Add support for math on constants in gen6 brw_wm_glsl.c path.</li>
<li>i965: Work around strangeness in swizzling/masking of gen6 math.</li>
<li>i965: re-enable gen6 IF statements in the fragment shader.</li>
<li>glsl: Free the loop state context when we free the loop state.</li>
<li>i965: Fix gl_FragCoord inversion when drawing to an FBO.</li>
<li>i965: Shut up spurious gcc warning about GLSL_TYPE enums.</li>
<li>mesa: Don't spam the console in a debug build unless some spam is requested.</li>
<li>i965: Add state dumping for sampler state.</li>
<li>i965: Add dumping of the sampler default color.</li>
<li>i965: Fail on loops on gen6 for now until we write the EU emit code for it.</li>
<li>i965: Eliminate dead code more aggressively.</li>
<li>mesa: Include C++ files in the makedepend of DRI drivers.</li>
<li>i965: Fix compute_to_mrf to not move a MRF write up into another live range.</li>
<li>i965: Just use memset() to clear most members in FS constructors.</li>
<li>i965: Remove extra n at the end of every instruction in INTEL_DEBUG=wm.</li>
<li>i965: Fold constants into the second arg of BRW_SEL as well.</li>
<li>glsl: Add a helper function for determining if an rvalue could be a saturate.</li>
<li>i965: Recognize saturates and turn them into a saturated mov.</li>
<li>ir_to_mesa: Detect and emit MOV_SATs for saturate constructs.</li>
<li>i965: Improve compute-to-mrf.</li>
<li>i965: Remove duplicate MRF writes in the FS backend.</li>
<li>i965: Move gen4 blend constant color to the gen4 blending file.</li>
<li>i965: Don't upload polygon stipple unless required.</li>
<li>i965: Don't upload line stipple pattern unless we're stippling.</li>
<li>i965: Don't upload line smooth params unless we're line smoothing.</li>
<li>i965: Use the new embedded compare in SEL on gen6 for VS MIN and MAX opcodes.</li>
<li>i965: Fix type of gl_FragData[] dereference for FB write.</li>
<li>glsl: Make the symbol table's add_function just use the function's name.</li>
<li>glsl: Make the symbol table's add_variable just use the variable's name.</li>
<li>glsl: Add a helper constructor for expressions that works out result type.</li>
<li>glsl: Fix structure and array comparisions.</li>
<li>glsl: Quiet unreachable no-return-from-function warning.</li>
<li>i965: Dump the WHILE jump distance on gen6.</li>
<li>i965: Add support for gen6 DO/WHILE ISA emit.</li>
<li>i965: Add support for gen6 BREAK ISA emit.</li>
<li>i965: Add support for gen6 CONTINUE instruction emit.</li>
<li>i965: Enable IF statements in the VS.</li>
<li>i965: Add support for loops in the VS.</li>
<li>glsl: Mark the array access for whole-array comparisons.</li>
<li>glsl: Fix flipped return of has_value() for array constants.</li>
<li>mesa: Add getters for the rest of the supported draw buffers.</li>
<li>mesa: Add getters for ARB_copy_buffer's attachment points.</li>
<li>intel: Add an env var override to execute for a different GPU revision.</li>
<li>i965: Update gen6 WM state on compiled program change, not just FP change.</li>
<li>i965: Update gen6 SF state on fragment program change too.</li>
<li>i965: Fix compile warning about missing opcodes.</li>
<li>i965: Move payload reg setup to compile, not lookup time.</li>
<li>i965: Provide delta_xy reg to gen6 non-GLSL path PINTERP.</li>
<li>i965: Fix up 16-wide gen6 FB writes after various refactoring.</li>
<li>i965: Don't smash a group of coordinates doing gen6 16-wide sampler headers.</li>
<li>i965: Fix gen6 interpolation setup for 16-wide.</li>
<li>i965: Fix up gen6 samplers for their usage by brw_wm_emit.c</li>
<li>i965: Make the sampler's implied move on gen6 be a raw move.</li>
<li>i965: Align gen6 push constant size to dispatch width.</li>
<li>i965: Add support for the instruction compression bits on gen6.</li>
<li>i965: Nuke brw_wm_glsl.c.</li>
<li>i965: Remove INTEL_DEBUG=glsl_force now that there's no brw_wm_glsl.c</li>
<li>i965: Fix comment about gen6_wm_constants.</li>
<li>i965: Handle saturates on gen6 math instructions.</li>
<li>i965: Always hand the absolute value to RSQ.</li>
<li>i965: Add disabled debug code for dumping out the WM constant payload.</li>
<li>i965: Work around gen6 ignoring source modifiers on math instructions.</li>
<li>i965: Fix flipped value of the not-embedded-in-if on gen6.</li>
<li>i965: Don't try to store gen6 (float) blend constant color in bytes.</li>
<li>i965: Set up the color masking for the first drawbuffer on gen6.</li>
<li>i965: Set up the per-render-target blend state on gen6.</li>
<li>i965: Set the render target index in gen6 fixed-function/ARB_fp path.</li>
<li>i965: Use the new pixel mask location for gen6 ARB_fp KIL instructions.</li>
<li>i965: Drop KIL_NV from the ff/ARB_fp path since it was only used for GLSL.</li>
<li>i965: Drop push-mode reladdr constant loading and always use constant_map.</li>
<li>i965: Fix VS constants regression pre-gen6.</li>
<li>i965: Clean up VS constant buffer location setup.</li>
<li>i965: Set up the correct texture border color state struct for Ironlake.</li>
<li>i965: Set render_cache_read_write surface state bit on gen6 constant surfs.</li>
<li>i965: remove unused variable since brw_wm_glsl.c removal.</li>
<li>intel: Use plain R8 and RG8 for COMPRESSED_RED and COMPRESSED_RG.</li>
<li>intel: Set the swizzling for depth textures using the GL_RED depth mode.</li>
<li>glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.</li>
<li>i965: Correct the dp_read message descriptor setup on g4x.</li>
<li>intel: Include stdbool so we can stop using GLboolean when we want to.</li>
<li>i965: Fix ARL to work on gen6.</li>
<li>i956: Fix the old FP path fragment position setup on gen6.</li>
<li>i965: Fix gl_FragCoord.z setup on gen6.</li>
<li>i965: Add support for using the BLT ring on gen6.</li>
<li>intel: Update renderbuffers before looking up CopyTexImage's read buffer.</li>
<li>intel: Drop commented intel_flush from copy_teximage.</li>
<li>intel: Try to sanely check that formats match for CopyTexImage.</li>
<li>intel: Support glCopyTexImage() from XRGB8888 to ARGB8888.</li>
<li>i965: Avoid using float type for raw moves, to work around SNB issue.</li>
<li>i965: Set the alternative floating point mode on gen6 VS and WM.</li>
<li>i965: Add support for gen6 constant-index constant loading.</li>
<li>i965: Add support for gen6 reladdr VS constant loading.</li>
<li>i965: Improve the hacks for ARB_fp scalar^scalar POW on gen6.</li>
<li>i965: Factor out the ir comparision to BRW_CONDITIONAL_* code.</li>
<li>i965: Fix regression in FS comparisons on original gen4 due to gen6 changes.</li>
<li>i965: Do lowering of array indexing of a vector in the FS.</li>
<li>intel: Only do frame throttling at glFlush time when using frontbuffer.</li>
<li>intel: Handle forced swrast clears before other clear bits.</li>
<li>intel: Use tri clears when we don't know how to blit clear the format.</li>
<li>intel: Add spans code for the ARB_texture_rg support.</li>
<li>intel: Add a couple of helper functions to reduce rb code duplication.</li>
<li>intel: Fix segfaults from trying to use _ColorDrawBuffers in FBO validation.</li>
<li>intel: When validating an FBO's combined depth/stencil, use the given FBO.</li>
</ul>
 
<p>Fabian Bieler (2):</p>
<ul>
<li>r600g: set address of pop instructions to next instruction</li>
<li>glsl: fix lowering conditional returns in subroutines</li>
</ul>
 
<p>Francisco Jerez (51):</p>
<ul>
<li>dri/nv04: Fix PGRAPH_ERRORs when running OA.</li>
<li>dri/nv04: Mipmapping fixes.</li>
<li>dri/nv04: Align SIFM transfer dimensions.</li>
<li>dri/nv04: Fix up color mask.</li>
<li>dri/nv04: Fix maximum texture size.</li>
<li>dri/nv04: Fix provoking vertex.</li>
<li>dri/nouveau: Update nouveau_class.h.</li>
<li>dri/nouveau: Add some more extensions.</li>
<li>dri/nouveau: Fix glRenderbufferStorage with DEPTH_COMPONENT as internal format.</li>
<li>dri/nouveau: Don't request a fake front unnecessarily.</li>
<li>dri/nouveau: Don't reemit the BO state in nouveau_state_emit().</li>
<li>dri/nouveau: Cleanup references to the old FBOs on glMakeCurrent().</li>
<li>meta: Don't bind the created texture object in init_temp_texture().</li>
<li>dri/nv10: Fix the CLAMP texture wrap mode.</li>
<li>dri/nv04: Use nvgl_wrap_mode().</li>
<li>dri/nouveau: Remove unnecessary assertion.</li>
<li>dri/nouveau: Cleanup more references to old FBOs and VBOs.</li>
<li>dri/nv10-nv20: Fix texturing in some cases after a base level change.</li>
<li>dri/nouveau: Fix software mipmap generation on 1x1 textures.</li>
<li>dri/nouveau: Have a smaller amount of larger scratch buffers.</li>
<li>dri/nouveau: Remove unnecessary flush.</li>
<li>dri/nv10: Use fast Z clears.</li>
<li>dri/nouveau: Minor cleanup.</li>
<li>dri/nv10: Fake fast Z clears for pre-nv17 cards.</li>
<li>dri/nouveau: Initialize tile_flags when allocating a render target.</li>
<li>nouveau: Get larger push buffers.</li>
<li>dri/nouveau: Force a "slow" Z clear if we're getting a new depth buffer.</li>
<li>dri/nv20: Clear with the 3D engine.</li>
<li>dri/nouveau: Don't assert(0) on compressed internal formats.</li>
<li>dri/nv25: Bind a hierarchical depth buffer.</li>
<li>dri/nouveau: Call _mesa_update_state() after framebuffer invalidation.</li>
<li>dri/nouveau: Honor the access flags in nouveau_bufferobj_map_range.</li>
<li>dri/nouveau: Tell the vbo module we want real hardware BOs.</li>
<li>dri/nouveau: Split out the scratch helpers to a separate file.</li>
<li>dri/nouveau: Avoid recursion in nouveau_bo_context_reset().</li>
<li>dri/nouveau: Use a macro to iterate over the bound vertex attributes.</li>
<li>dri/nouveau: Split out array handling to its own file.</li>
<li>dri/nouveau: Optimize VBO binding re-emission.</li>
<li>dri/nouveau: Keep small DYNAMIC_DRAW vertex buffers in system ram.</li>
<li>dri/nouveau: Pipeline glTexSubImage texture transfers.</li>
<li>dri/nouveau: Fix type promotion issue on 32bit platforms.</li>
<li>dri/nouveau: Validate the framebuffer state on read buffer changes.</li>
<li>dri/nouveau: Re-emit the BO state when coming back from a software fallback.</li>
<li>meta: Don't leak alpha function/reference value changes.</li>
<li>meta: Fix incorrect rendering of the bitmap alpha component.</li>
<li>vbo: Avoid unnecessary copy to/from current in vertex format upgrade.</li>
<li>meta: Don't try to disable cube maps if the driver doesn't expose the extension.</li>
<li>meta: Handle bitmaps with alpha test enabled.</li>
<li>dri/nouveau: Split hardware/software TNL instantiation more cleanly.</li>
<li>dri/nouveau: Fix typo.</li>
<li>dri/nouveau: Kill a bunch of ternary operators.</li>
</ul>
 
<p>Fredrik Höglund (2):</p>
<ul>
<li>r600g: Fix texture sampling with swizzled coords</li>
<li>r600g: fix pow(0, 0) evaluating to NaN</li>
</ul>
 
<p>Guillermo S. Romero (1):</p>
<ul>
<li>r300g: Do not use buf param before checking for NULL.</li>
</ul>
 
<p>Henri Verbeet (19):</p>
<ul>
<li>r600g: Flush upload buffers before draws instead of before flushes.</li>
<li>r600g: Check for other references before checking for existing mappings in radeon_bo_pb_map_internal().</li>
<li>r600g: Remove a redundant flush in r600_texture_transfer_map().</li>
<li>r600g: Buffer object maps imply a wait.</li>
<li>r600g: Respect PB_USAGE_UNSYNCHRONIZED in radeon_bo_pb_map_internal().</li>
<li>Revert "r600g: Flush upload buffers before draws instead of before flushes."</li>
<li>r600g: fix exports_ps to export a number not a mask.</li>
<li>r600g: Mention AMD in the renderer string.</li>
<li>r600g: Cleanup the fenced_bo list in r600_context_fini().</li>
<li>r600g: Evergreen has two extra frac_bits for the sampler LOD state.</li>
<li>r600: Evergreen has two extra frac_bits for the sampler LOD state.</li>
<li>r600g: Add PIPE_FORMAT_L8A8_UNORM for Evergreen as well.</li>
<li>r600g: Swizzle vertex data only once.</li>
<li>r600g: Synchronize supported color formats between Evergreen and r600/r700.</li>
<li>r600g: Fix the PIPE_FORMAT_L8A8_UNORM color swaps.</li>
<li>r600g: Fix the PIPE_FORMAT_A8_UNORM color swap for Evergreen as well.</li>
<li>r600g: Cleanup block bo references in r600_context_fini().</li>
<li>r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().</li>
<li>st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().</li>
</ul>
 
<p>Hui Qi Tay (10):</p>
<ul>
<li>llvmpipe: minor changes in llvm coefficient calcs</li>
<li>draw: cliptest and viewport done in a single loop in vertex shader</li>
<li>draw: added viewport and cliptest flags</li>
<li>draw: sanitize llvm variant key</li>
<li>draw: corrections for w coordinate</li>
<li>draw: corrections to allow for different cliptest cases</li>
<li>llvmpipe: Moved draw pipeline twoside function to llvm setup code</li>
<li>llvmpipe: added llvm offset setup code</li>
<li>llvmpipe: clean up polygon offset function in lp setup code</li>
<li>llvmpipe: fix such that offset/twoside function only does in-place modification</li>
</ul>
 
<p>Ian Romanick (102):</p>
<ul>
<li>glsl2: Refactor testing for whether a deref is of a matrix or array</li>
<li>glsl2: Add flags to enable variable index lowering</li>
<li>glsl: Add doxygen comments</li>
<li>EGL DRI2: Silence piles of 'unused variable' warnings</li>
<li>EGL DRI2: Silence 'missing initializer' warnings</li>
<li>egl_glx: Silence piles of 'unused variable' warnings</li>
<li>egl: Fix several 'comparison between signed and unsigned integer' warnings</li>
<li>dri: Ensure that DRI driver cpp files are in tarballs</li>
<li>mesa: Force GL_ARB_copy_buffer to always be enabled</li>
<li>mesa: Force GL_SGIS_generate_mipmap to always be enabled</li>
<li>Remove GL_MESA_packed_depth_stencil</li>
<li>Remove GL_EXT_cull_vertex</li>
<li>Regenerate files changed by previous commit</li>
<li>Remove unnescessary initializations of UpdateTexturePalette</li>
<li>ARB_texture_rg: Add GLX protocol support</li>
<li>ARB_texture_rg: Correct some errors in RED / RG internal format handling</li>
<li>ARB_texture_rg: Add GL_TEXTURE_{RED,GREEN}_SIZE query support</li>
<li>ARB_texture_rg: Add GL_RED as a valid GL_DEPTH_TEXTURE_MODE</li>
<li>ARB_texture_rg: Handle RED and RG the same as RGB for tex env</li>
<li>ARB_texture_rg: Add R8, R16, RG88, and RG1616 internal formats</li>
<li>ARB_texture_rg: Allow RED and RG textures as FBO color buffer attachments</li>
<li>mesa: Enable GL_ARB_texture_rg in software paths</li>
<li>i965: Enable GL_ARB_texture_rg</li>
<li>mesa: Add ARB_texture_compression_rgtc as an alias for EXT_texture_compression_rgtc</li>
<li>ARB_texture_rg: Add GL_COMPRESSED_{RED,RG} cases in _mesa_is_color_format</li>
<li>mesa: Fix misplaced #endif</li>
<li>mesa: Trivial correction to comment</li>
<li>rgtc: Detect RGTC formats as color formats and as compressed formats</li>
<li>docs: Add list of bugs fixed in 7.9</li>
<li>docs: Import 7.9 release notes from 7.9 branch.</li>
<li>docs: Import 7.8.x release notes from 7.8 branch.</li>
<li>docs: download.html does not need to be updated for each release</li>
<li>docs: Update mailing lines from sf.net to freedesktop.org</li>
<li>docs: Import news updates from 7.9 branch</li>
<li>docs: added news item for 7.9 release</li>
<li>glsl: Fail linking if assign_attribute_locations fails</li>
<li>glsl: Refactor 'layout' grammar to match GLSL 1.60 spec grammar</li>
<li>glsl: Slight refactor of error / warning checking for ARB_fcc layout</li>
<li>glsl: Clear type_qualifier using memset</li>
<li>glsl: Wrap ast_type_qualifier contents in a struct in a union</li>
<li>glsl: Regenerate files modified by previous commits</li>
<li>glcpp: Add the define for ARB_explicit_attrib_location when present</li>
<li>glcpp: Regenerate files changes by previous commit</li>
<li>glsl: Add parser support for GL_ARB_explicit_attrib_location layouts</li>
<li>glsl: Regenerate files changes by previous commit</li>
<li>glsl: Track explicit location in AST to IR translation</li>
<li>glsl: Add linker support for explicit attribute locations</li>
<li>main: Enable GL_ARB_explicit_attrib_location for swrast</li>
<li>intel: Enable GL_ARB_explicit_attrib_location</li>
<li>glsl: Remove const decoration from inlined function parameters</li>
<li>docs: skeleton for 7.10 release notes</li>
<li>docs: Update status of GL 3.x related extensions</li>
<li>mesa: Validate assembly shaders when GLSL shaders are used</li>
<li>glsl: Fix incorrect assertion</li>
<li>linker: Reject shaders that have unresolved function calls</li>
<li>mesa: Silence unused variable warning</li>
<li>mesa: Refactor validation of shader targets</li>
<li>mesa: Clean up two 'comparison between signed and unsigned' warnings</li>
<li>mesa: Clean up various 'unused parameter' warnings in shaderapi</li>
<li>glsl: Slightly change the semantic of _LinkedShaders</li>
<li>linker: Trivial indention fix</li>
<li>i965: Fix indentation after commit 3322fbaf</li>
<li>linker: Improve handling of unread/unwritten shader inputs/outputs</li>
<li>glapi: Add GL_EXT_separate_shader_objects</li>
<li>glapi: Commit files changed by previous commit</li>
<li>mesa: Add infrastructure to track GL_EXT_separate_shader_objects</li>
<li>mesa: Skeletal support for GL_EXT_separate_shader_objects</li>
<li>mesa: Add display list support for GL_EXT_separate_shader_objects functions</li>
<li>mesa: Track an ActiveProgram distinct from CurrentProgram</li>
<li>Track separate programs for each stage</li>
<li>swrast: Enable GL_EXT_separate_shader_objects in software paths</li>
<li>intel: Enable GL_EXT_separate_shader_objects in Intel drivers</li>
<li>docs: add GL_EXT_separate_shader_objects to release notes</li>
<li>glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow</li>
<li>ir_to_mesa: Refactor code for emitting DP instructions</li>
<li>mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample</li>
<li>glsl: Refactor is_vec_{zero,one} to be methods of ir_constant</li>
<li>glsl: Simplify generation of swizzle for vector constructors</li>
<li>glsl: Make is_zero and is_one virtual methods of ir_rvalue</li>
<li>ir_to_mesa: Generate smarter code for some conditional moves</li>
<li>glsl: Add ir_unop_sin_reduced and ir_unop_cos_reduced</li>
<li>glsl: Eliminate assumptions about size of ir_expression::operands</li>
<li>glsl: Add ir_rvalue::is_negative_one predicate</li>
<li>glsl: Add unary ir_expression constructor</li>
<li>glsl: Add ir_quadop_vector expression</li>
<li>glsl: Fix matrix constructors with vector parameters</li>
<li>i915: Disallow alpha, red, RG, and sRGB as render targets</li>
<li>glsl: Use M_LOG2E constant instead of calling log2</li>
<li>glsl: Lower ir_binop_pow to a sequence of EXP2 and LOG2</li>
<li>i915: Request that POW instructions be lowered</li>
<li>i915: Correctly generate unconditional KIL instructions</li>
<li>glsl: Ensure that equality comparisons don't return a NULL IR tree</li>
<li>i965: Correctly emit constants for aggregate types (array, matrix, struct)</li>
<li>glsl: Inherrit type of declared variable from initializer</li>
<li>linker: Ensure that unsized arrays have a size after linking</li>
<li>linker: Fix regressions caused by previous commit</li>
<li>glsl: Inherrit type of declared variable from initializer after processing assignment</li>
<li>linker: Allow built-in arrays to have different sizes between shader stages</li>
<li>ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors</li>
<li>Refresh autogenerated file builtin_function.cpp.</li>
<li>glsl: Allow less restrictive uses of sampler array indexing in GLSL &lt;= 1.20</li>
<li>docs: Import 7.9.1 release notes from 7.9 branch</li>
</ul>
 
<p>Jakob Bornecrantz (27):</p>
<ul>
<li>rbug: Cast opcode to corrent int size</li>
<li>rbug: Add function to get opcode name string</li>
<li>scons: Link against talloc in the Gallium DRI drivers</li>
<li>i915g: Link with wrapper sw winsys with scons</li>
<li>tgsi: Actually care what check_soa_dependencies says</li>
<li>tgsi: Fix missing test before check</li>
<li>llvmpipe: Move makefile include to before targets</li>
<li>wrapper: Fix spelling</li>
<li>wrapper: Add a way to dewrap a pipe screen without destroying it</li>
<li>egl: Remove unnecessary headers</li>
<li>target-helpers: Remove per target software wrapper check</li>
<li>graw: Tidy graw xlib scons file a bit</li>
<li>scons: Remove old pipebuffer SConscript</li>
<li>scons: Detabify</li>
<li>scons: Check for pkg-config before trying to use it</li>
<li>scons: Check for libdrm_[intel|radeon] as well</li>
<li>scons: Move dependancy checks to the main gallium scons file</li>
<li>scons: Unify state tracker SConscripts</li>
<li>galahad: Correct the name of the scons library</li>
<li>graw: Use inline sw helper instead of roll your own loader</li>
<li>libgl-xlib: Use sw helper instead of roll your own</li>
<li>libgl-xlib: Use inline debug helper instead of non-inline version</li>
<li>graw: Use inline debug helper instead of non-inline version</li>
<li>gallium: Remove redundant sw and debug target helpers</li>
<li>i915g: Improve debug printing for textures</li>
<li>i915g: Make sure that new vbo gets updated</li>
<li>st/mesa: Unbind all constant buffers</li>
</ul>
 
<p>Jerome Glisse (75):</p>
<ul>
<li>r600g: alternative command stream building from context</li>
<li>r600g: move chip class to radeon common structure</li>
<li>r600g: use pipe context for flushing inside map</li>
<li>r600g: add back reference check when mapping buffer</li>
<li>r600g: directly allocate bo for user buffer</li>
<li>r600g: fix multi buffer rendering</li>
<li>r600g: occlusion query for new design</li>
<li>r600g: flush color buffer after draw command</li>
<li>r600g: disable shader rebuild optimization &amp; account cb flush packet</li>
<li>r600g: fix multiple occlusion query on same id</li>
<li>r600g: initial evergreen support in new path</li>
<li>r600g: fix typo in evergreen define (resource are in x range)</li>
<li>r600g: move use_mem_constants flags for new designs structure alignment</li>
<li>r600g: evergreen fix for new design</li>
<li>r600g: fix compilation after change to evergreend.h</li>
<li>r600g: fixup some evergreen register definitions</li>
<li>r600g: fix evergreen new path</li>
<li>r600g: fix reg definition</li>
<li>r600g: fix evergreen new path</li>
<li>r600g: bring over fix from old path to new path</li>
<li>r600g: fix vertex resource &amp; polygon offset</li>
<li>r600g: disable early cull optimization when occlusion query running</li>
<li>r600g: move around variables to share depth uncompression code</li>
<li>r600g: use depth decompression in new path</li>
<li>r600g: fix index buffer drawing</li>
<li>r600g: build packet header once</li>
<li>r600g: fix pointsprite &amp; resource unbinding</li>
<li>r600g: fix routing btw vertex &amp; pixel shader</li>
<li>r600g: fix occlusion query after change to block structure</li>
<li>r600g: use ptr for blit depth uncompress function</li>
<li>r600g: fix remaining piglit issue in new design</li>
<li>r600g: switch to new design</li>
<li>r600g: suspend/resume occlusion query around clear/copy</li>
<li>r600g: avoid rebuilding the vertex shader if no change to input format</li>
<li>r600g: use a hash table instead of group</li>
<li>r600g: delete old path</li>
<li>r600g: cleanup</li>
<li>r600g: more cleanup</li>
<li>r600g: use constant buffer instead of register for constant</li>
<li>r600g: fix constant &amp; literal src splitting, also fix mplayer gl2 shader</li>
<li>evergreeng: avoid overlapping border color btw VS &amp; PS</li>
<li>r600g: indentation fixes</li>
<li>r600g: rename radeon_ws_bo to r600_bo</li>
<li>r600g: allow r600_bo to be a sub allocation of a big bo</li>
<li>r600g: use r600_bo for relocation argument, simplify code</li>
<li>r600g: rename radeon_ws_bo to r600_bo</li>
<li>r600g: remove dead label &amp; fix indentation</li>
<li>r600g: store reloc information in bo structure</li>
<li>r600g: improve bo flushing</li>
<li>r600g: simplify block relocation</li>
<li>r600g: userspace fence to avoid kernel call for testing bo busy status</li>
<li>r600g: avoid segfault due to unintialized list pointer</li>
<li>r600g: fix dirty state handling</li>
<li>r600g: allow driver to work without submitting cmd to GPU</li>
<li>gallium/noop: no operation gallium driver</li>
<li>r600g: code cleanup (indent, trailing space, empty line ...)</li>
<li>r600g: fix occlusion query on evergreen (avoid lockup)</li>
<li>r600g: add fetch shader capabilities</li>
<li>r600g: dump raw shader output for debugging</li>
<li>r600g: update polygon offset only when rasterizer or zbuffer change</li>
<li>r600g: indentation fix</li>
<li>r600g: more indentation fix + warning silencing + dead code removal</li>
<li>r600g: build fetch shader from vertex elements</li>
<li>r600g: avoid useless shader rebuild at draw call</li>
<li>r600g: remove useless flush map</li>
<li>r600g: remove dead code</li>
<li>r600g: fix userspace fence against lastest kernel</li>
<li>r600g: avoid using pb* helper we are loosing previous cpu cycle with it</li>
<li>r600g: specialized upload manager</li>
<li>r600g: indentation cleanup</li>
<li>r600g: fix bo size when creating bo from handle</li>
<li>r600g: fix segfault when translating vertex buffer</li>
<li>r600g: need to reference upload buffer as the might still live accross flush</li>
<li>r600g: properly unset vertex buffer</li>
<li>r600g: avoid segfault</li>
</ul>
 
<p>Joakim Sindholt (3):</p>
<ul>
<li>util/u_blitter: fix leak</li>
<li>radeong: fix leaks</li>
<li>r300g: silence guard band cap errors</li>
</ul>
 
<p>Johann Rudloff (3):</p>
<ul>
<li>radeon: Implement EGL_MESA_no_surface_extension</li>
<li>radeon: Implement __DRI_IMAGE and EGL_MESA_image_drm</li>
<li>radeon: Implement GL_OES_EGL_image</li>
</ul>
 
<p>John Doe (3):</p>
<ul>
<li>r600g: misc cleanup</li>
<li>r600g: don't double count dirty block</li>
<li>r600g: keep a mapping around for each bo</li>
</ul>
 
<p>Jon TURNEY (1):</p>
<ul>
<li>Ensure -L$(TOP)/$(LIB_DIR) appears in link line before any -L in $LDFLAGS</li>
</ul>
 
<p>José Fonseca (128):</p>
<ul>
<li>gallivm: Fix address register swizzle.</li>
<li>gallivm: Start collecting bitwise arithmetic helpers in a new module.</li>
<li>gallivm: Clamp indirect register indices to file_max.</li>
<li>util: linearized sRGB values don't fit into 8bits</li>
<li>llvmpipe: Default to no threading on single processor systems.</li>
<li>tgsi: Don't ignore indirect registers in tgsi_check_soa_dependencies</li>
<li>llvmpipe: Describe how to profile llvmpipe.</li>
<li>llvmpipe: When failing free fs shader too.</li>
<li>util: Flush stdout on util_format.</li>
<li>gallivm: Add unorm support to lp_build_lerp()</li>
<li>llvmpipe: Special case complementary and identify blend factors in SoA.</li>
<li>llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.</li>
<li>draw: Prevent clipped vertices overflow.</li>
<li>draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state</li>
<li>gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.</li>
<li>gallivm: Remove dead experimental code.</li>
<li>llvmpipe: Decouple sampler view and sampler state updates.</li>
<li>scons: New build= option, with support for checked builds.</li>
<li>scons: New build= option, with support for checked builds.</li>
<li>trace: Fix set_index_buffer and draw_vbo tracing.</li>
<li>python/retrace: Handle set_index_buffer and draw_vbo.</li>
<li>gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding.</li>
<li>gallivm: More comprehensive border usage logic.</li>
<li>retrace: Handle clear_render_target and clear_depth_stencil.</li>
<li>llvmpipe: Dump a few missing shader key flags.</li>
<li>llvmpipe: Fix perspective interpolation for point sprites.</li>
<li>llvmpipe: Fix sprite coord perspective interpolation of Q.</li>
<li>gallivm: Take the type signedness in consideration in round/ceil/floor.</li>
<li>gallivm: Use a faster (and less accurate) log2 in lod computation.</li>
<li>gallivm: Fast implementation of iround(log2(x))</li>
<li>gallivm: Combined ifloor &amp; fract helper.</li>
<li>gallivm: Only apply min/max_lod when necessary.</li>
<li>gallivm: Compute lod as integer whenever possible.</li>
<li>util: Cleanup util_pack_z_stencil and friends.</li>
<li>llvmpipe: Cleanup depth-stencil clears.</li>
<li>gallivm: Vectorize the rho computation.</li>
<li>gallivm: Do not do mipfiltering when magnifying.</li>
<li>gallivm: Simplify lp_build_mipmap_level_sizes' interface.</li>
<li>gallivm: Don't compute the second mipmap level when frac(lod) == 0</li>
<li>gallivm: Use lp_build_ifloor_fract for lod computation.</li>
<li>gallivm: Clamp mipmap level and zero mip weight simultaneously.</li>
<li>gallivm: Fix copy'n'paste typo in previous commit.</li>
<li>gallivm: Implement brilinear filtering.</li>
<li>gallivm: Use the wrappers for SSE pack intrinsics.</li>
<li>gallivm: Avoid control flow for two-sided stencil test.</li>
<li>gallivm: Warn when doing inefficient integer comparisons.</li>
<li>gallivm: Move into the as much of the second level code as possible.</li>
<li>llvmpipe: First minify the texture size, then broadcast.</li>
<li>gallivm: Help for combined extraction and broadcasting.</li>
<li>gallivm: Do size computations simultanously for all dimensions (AoS).</li>
<li>llvmpipe: Prevent z &gt; 1.0</li>
<li>llvmpipe: Fix MSVC build. Enable the new SSE2 code on non SSE3 systems.</li>
<li>gallivm: Handle code have ret correctly.</li>
<li>util: Defined M_SQRT2 when not available.</li>
<li>gallivm: Less code duplication in log computation.</li>
<li>gallivm: Special bri-linear computation path for unmodified rho.</li>
<li>gallivm: Don't generate Phis for execution mask.</li>
<li>gallivm: Use varilables instead of Phis for cubemap selection.</li>
<li>gallivm: Remove support for Phi generation.</li>
<li>gallivm: Factor out the SI-&gt;FP texture size conversion for SoA path too</li>
<li>gallivm: Simplify if/then/else implementation.</li>
<li>gallivm: Cleanup the rest of the flow module.</li>
<li>gallivm: Fix a long standing bug with nested if-then-else emission.</li>
<li>gallivm: Allow to disable bri-linear filtering with GALLIVM_DEBUG=no_brilinear runtime option</li>
<li>gallivm: Use variables instead of Phis in loops.</li>
<li>gallivm: Pass texture coords derivates as scalars.</li>
<li>llvmpipe: Remove outdated comment about stencil testing.</li>
<li>gallivm: Eliminate unsigned integer arithmetic from texture coordinates.</li>
<li>gallium: Define C99 restrict keyword where absent.</li>
<li>tgsi: Export some names for some tgsi enums.</li>
<li>gallivm: More detailed analysis of tgsi shaders.</li>
<li>llvmpipe: Use lp_tgsi_info.</li>
<li>llvmpipe: Do not dispose the execution engine.</li>
<li>llvmpipe: Fix MSVC build.</li>
<li>llmvpipe: improve mm_mullo_epi32</li>
<li>gallivm: Name anonymous union.</li>
<li>llvmpipe: Unbreak Z32_FLOAT.</li>
<li>gallivm: More accurate float -&gt; 24bit &amp; 32bit unorm conversion.</li>
<li>llvmpipe: Generalize the x8z24 fast path to all depth formats.</li>
<li>llvmpipe: Fix depth-stencil regression.</li>
<li>llvmpipe: Ensure z_shift and z_width is initialized.</li>
<li>gallivm: Fix SoA cubemap derivative computation.</li>
<li>llvmpipe: Fix bad refactoring.</li>
<li>llvmpipe: Initialize bld ctx via lp_build_context_init instead of ad-hoc and broken code.</li>
<li>gallivm: Comment lp_build_insert_new_block().</li>
<li>gallivm: Add a note about SSE4.1's nearest mode rounding.</li>
<li>llvmpipe: Don't test rounding of x.5 numbers.</li>
<li>gallium: Avoid using __doc__ in python scripts.</li>
<li>gallivm: always enable LLVMAddInstructionCombiningPass()</li>
<li>gallivm: Remove the EMMS opcodes.</li>
<li>mesa: Fix windows build (uint -&gt; GLuint).</li>
<li>scons: Revamp how to specify targets to build.</li>
<li>scons: Fix MinGW cross-compilation.</li>
<li>scons: Some pipe drivers are not portable for MSVC</li>
<li>scons: Restore x11 tool behavior for backwards compatability.</li>
<li>scons: Disable python state tracker when swig is not present.</li>
<li>r600g: List recently added files in SConscript.</li>
<li>scons: Add aliases for several pipe drivers.</li>
<li>scons: i915 can't build on MSVC either.</li>
<li>scons: Propagate installation targets.</li>
<li>xorg/vmwgfx: Add missing source file to SConscript.</li>
<li>st/xorg: Add missing n to error message.</li>
<li>st/xorg: Detect libkms with scons too.</li>
<li>xorg/vmwgfx: Link libkms when available.</li>
<li>r600g: Swap the util_blitter_destroy call order.</li>
<li>gallivm: Allocate TEMP/OUT arrays only once.</li>
<li>libgl-gdi: Allow to pick softpipe/llvmpipe on runtime.</li>
<li>scons: Use inline wrap helpers more consistently.</li>
<li>svga: Use consistent hexadecimal representation on debug output.</li>
<li>scons: Alias for svga</li>
<li>wgl: Stub WGL_ARB_pbuffer support.</li>
<li>wgl: More complete WGL_ARB_pbuffer support.</li>
<li>svga: Silence debug printf.</li>
<li>scons: Move MSVS_VERSION option to common module.</li>
<li>vega: Remove extraneous ;</li>
<li>retrace: Some fixes.</li>
<li>util: C++ safe.</li>
<li>wgl: Fix double free. Remove dead code.</li>
<li>util: Plug leaks in util_destroy_gen_mipmap.</li>
<li>util: __builtin_frame_address() doesn't work on mingw.</li>
<li>util: Don't try to use imagehlp on mingw.</li>
<li>wgl: Unreference the current framebuffer after the make_current call.</li>
<li>WIN32_THREADS -&gt; WIN32</li>
<li>mapi: Hack to avoid vgCreateFont being generated as vgCreateFontA.</li>
<li>wgl: Fix visual's buffer_mask configuration.</li>
<li>mesa: Temporary hack to prevent stack overflow on windows</li>
<li>mesa: Bump the number of bits in the register index.</li>
<li>llvmpipe: Plug fence leaks.</li>
</ul>
 
<p>Julien Cristau (1):</p>
<ul>
<li>Makefile: don't include the same files twice in the tarball</li>
</ul>
 
<p>Keith Whitwell (89):</p>
<ul>
<li>llvmpipe: brackets around macro arg</li>
<li>llvmpipe: remove duplicate code</li>
<li>llvmpipe: return zero from floor_pot(zero)</li>
<li>gallivm: make lp_build_sample_nop public</li>
<li>llvmpipe: add LP_PERF flag to disable various aspects of rasterization</li>
<li>llvmpipe: add DEBUG_FS to dump variant information</li>
<li>llvmpipe: use llvm for attribute interpolant calculation</li>
<li>graw: add frag-face shader</li>
<li>llvmpipe: fix flatshading in new line code</li>
<li>draw: don't apply flatshading to clipped tris with &lt;3 verts</li>
<li>llvmpipe: handle FACING interpolants in line and point setup</li>
<li>llvmpipe: handle up to 8 planes in triangle binner</li>
<li>llvmpipe: make debug_fs_variant respect variant-&gt;nr_samplers</li>
<li>gallivm: don't apply zero lod_bias</li>
<li>llvmpipe: fail gracefully on oom in scene creation</li>
<li>llvmpipe: avoid overflow in triangle culling</li>
<li>gallivm: special case conversion 4x4f to 1x16ub</li>
<li>gallivm: round rather than truncate in new 4x4f-&gt;1x16ub conversion path</li>
<li>llvmpipe: clean up setup_tri a little</li>
<li>llvmpipe: add rast_tri_4_16 for small lines and points</li>
<li>llvmpipe: fix off-by-one in tri_16</li>
<li>llvmpipe: defer attribute interpolation until after mask and ztest</li>
<li>llvmpipe: use alloca for fs color outputs</li>
<li>llvmpipe: store zero into all alloca'd values</li>
<li>llvmpipe: dump fragment shader ir and asm when LP_DEBUG=fs</li>
<li>gallivm: specialized x8z24 depthtest path</li>
<li>gallivm: prefer blendvb for integer arguments</li>
<li>gallivm: simpler uint8-&gt;float conversions</li>
<li>llvmpipe: try to be sensible about whether to branch after mask updates</li>
<li>llvmpipe: clean up shader pre/postamble, try to catch more early-z</li>
<li>llvmpipe: simplified SSE2 swz/unswz routines</li>
<li>llvmpipe: try to do more of rast_tri_3_16 with intrinsics</li>
<li>llvmpipe: add debug helpers for epi32 etc</li>
<li>llvmpipe: try to keep plane c values small</li>
<li>llvmpipe: fix typo in last commit</li>
<li>gallium: move sse intrinsics debug helpers to u_sse.h</li>
<li>r600g: add missing file to sconscript</li>
<li>gallivm: don't branch on KILLs near end of shader</li>
<li>Revert "llvmpipe: try to keep plane c values small"</li>
<li>llvmpipe: make sure intrinsics code is guarded with PIPE_ARCH_SSE</li>
<li>llvmpipe: don't try to emit non-existent color outputs</li>
<li>r600/drm: fix segfaults in winsys create failure path</li>
<li>r600g: emit hardware linewidth</li>
<li>r600g: handle absolute modifier in shader translator</li>
<li>llvmpipe: reintroduce SET_STATE binner command</li>
<li>llvmpipe: don't pass frontfacing as a float</li>
<li>llvmpipe: slightly shrink the size of a binned triangle</li>
<li>llvmpipe: don't store plane.ei value in binned data</li>
<li>gallium: move some intrinsics helpers to u_sse.h</li>
<li>llvmpipe: do plane calculations with intrinsics</li>
<li>llvmpipe: use aligned loads/stores for plane values</li>
<li>llvmpipe: fix non-sse build after recent changes</li>
<li>llvmpipe: check shader outputs are non-null before using</li>
<li>llvmpipe: validate color outputs against key-&gt;nr_cbufs</li>
<li>llvmpipe: clean up fields in draw_llvm_variant_key</li>
<li>llvmpipe: remove setup fallback path</li>
<li>llvmpipe: fail cleanly on malloc failure in lp_setup_alloc_triangle</li>
<li>Merge remote branch 'origin/master' into lp-setup-llvm</li>
<li>llvmpipe: remove unused file</li>
<li>llvmpipe: remove unused arg from jit_setup_tri function</li>
<li>Merge branch 'llvm-cliptest-viewport'</li>
<li>draw: make sure viewport gets updated in draw llvm shader</li>
<li>llvmpipe: turn off draw offset/twoside when we can handle it</li>
<li>llvmpipe: avoid generating tri_16 for tris which extend past tile bounds</li>
<li>llvmpipe: guard against NULL task-&gt;query pointer</li>
<li>st/mesa: unbind constant buffer when not in use</li>
<li>r600g: propagate usage flags in texture transfers</li>
<li>r600g: propogate resource usage flags to winsys, use to choose bo domains</li>
<li>r600g: use a buffer in GTT as intermediate on texture up and downloads</li>
<li>r600g: remove unused flink, domain fields from r600_resource</li>
<li>r600g: set hardware pixel centers according to gl_rasterization_rules</li>
<li>evergreeng: protect against null constant buffers</li>
<li>r600g: don't call debug_get_bool_option for tiling more than once</li>
<li>evergreeng: respect linewidth state, use integer widths only</li>
<li>evergreeng: set hardware pixelcenters according to gl_rasterization_rules</li>
<li>r600g: avoid recursion with staged uploads</li>
<li>r600g: attempt to turn on DXTn formats</li>
<li>r600g: translate ARR instruction</li>
<li>r600: fix my pessimism about PIPE_TRANSFER_x flags</li>
<li>ws/r600: match bo_busy shared/fence logic in bo_wait</li>
<li>r600g: guard experimental s3tc code with R600_ENABLE_S3TC</li>
<li>r600g: do not try to use staging resource for depth textures</li>
<li>r600g: enforce minimum stride on render target texture images</li>
<li>llvmpipe: fix up twoside after recent changes</li>
<li>llvmpipe: twoside for specular color also</li>
<li>Merge branch 'lp-offset-twoside'</li>
<li>llvmpipe: raise dirty flag on transfers to bound constbuf</li>
<li>llvmpipe: remove misleading debug string</li>
<li>llvmpipe: shortcircuit some calls to set_scene_state</li>
</ul>
 
<p>Kenneth Graunke (94):</p>
<ul>
<li>glsl: Change from has_builtin_signature to has_user_signature.</li>
<li>glsl: Don't print blank (function ...) headers for built-ins.</li>
<li>glsl: Properly handle nested structure types.</li>
<li>glsl/builtins: Fix equal and notEqual builtins.</li>
<li>glsl/builtins: Switch comparison functions to just return an expression.</li>
<li>glsl: Add comments to clarify the types of comparison binops.</li>
<li>glsl: Fix broken handling of ir_binop_equal and ir_binop_nequal.</li>
<li>glsl: "Copyright", not "Constantright"</li>
<li>i965: Fix incorrect batchbuffer size in gen6 clip state command.</li>
<li>i965: Use logical-not when emitting ir_unop_ceil.</li>
<li>glsl: Add front-end support for the "trunc" built-in.</li>
<li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
<li>i965: Use RNDZ for ir_unop_trunc in the new FS.</li>
<li>i965: Correctly emit the RNDZ instruction.</li>
<li>i965: Clean up a warning in the old fragment backend.</li>
<li>glsl: Add a new ir_unop_round_even opcode for GLSL 1.30's roundEven.</li>
<li>glsl: Add front-end support for GLSL 1.30's roundEven built-in.</li>
<li>i965: Add support for ir_unop_round_even via the RNDE instruction.</li>
<li>glsl: Add support for the 1.30 round() built-in.</li>
<li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
<li>glsl: Don't return NULL IR for erroneous bit-shift operators.</li>
<li>i965: Add missing "break" statement.</li>
<li>glsl: Fix copy and paste error in ast_bit_and node creation.</li>
<li>glsl: Regenerate parser files.</li>
<li>i965: Remove unused variable.</li>
<li>glsl: Remove useless ir_shader enumeration value.</li>
<li>mesa: Remove FEATURE_ARB_shading_language_120 macro.</li>
<li>glcpp: Return NEWLINE token for newlines inside multi-line comments.</li>
<li>glcpp: Refresh autogenerated lexer file.</li>
<li>glsl: Add support for GLSL 1.30's modf built-in.</li>
<li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
<li>generate_builtins.py: Output large strings as arrays of characters.</li>
<li>Refresh autogenerated file builtin_function.cpp.</li>
<li>glsl: Fix constant component count in vector constructor emitting.</li>
<li>Fix build on systems where "python" is python 3.</li>
<li>i965: Add bit operation support to the fragment shader backend.</li>
<li>glsl: Remove unused ARRAY_SIZE macro.</li>
<li>glsl/builtins: Rename 'x' to 'y_over_x' in atan(float) implementation.</li>
<li>glsl/builtins: Clean up some ugly autogenerated code in atan.</li>
<li>Refresh autogenerated file builtin_function.cpp.</li>
<li>glsl: Don't print a useless space at the end of an S-Expression list.</li>
<li>ir_reader: Return a specific ir_dereference variant.</li>
<li>ir_reader: Remove useless error check.</li>
<li>ir_reader: Fix some potential NULL pointer dereferences.</li>
<li>ir_dead_functions: Actually free dead functions and signatures.</li>
<li>glsl: Remove unnecessary "unused variable" warning suppression.</li>
<li>glsl: Remove GLSL_TYPE_FUNCTION define.</li>
<li>glsl: Convert glsl_type::base_type from #define'd constants to an enum.</li>
<li>glsl: Rework reserved word/keyword handling in the lexer.</li>
<li>glsl: Add new keywords and reserved words for GLSL 1.30.</li>
<li>glsl: Add support for the 'u' and 'U' unsigned integer suffixes.</li>
<li>glsl: Refresh autogenerated lexer and parser files.</li>
<li>generate_builtins.py: Fix inconsistent use of tabs and spaces warning.</li>
<li>glsl: Implement the asinh, acosh, and atanh built-in functions.</li>
<li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
<li>glsl: Add constant expression handling for asinh, acosh, and atanh.</li>
<li>glsl: Remove unused and out of date Makefile.am.</li>
<li>glsl: Rename various ir_* files to lower_* and opt_*.</li>
<li>glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version &gt;= 1.30.</li>
<li>Refresh autogenerated glcpp parser.</li>
<li>glsl: Fix constant expression handling for &lt;, &gt;, &lt;=, &gt;= on vectors.</li>
<li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li>
<li>Regenerate glcpp parser.</li>
<li>glsl: Reimplement the "cross" built-in without ir_binop_cross.</li>
<li>Refresh autogenerated file builtin_function.cpp.</li>
<li>glsl: Remove the ir_binop_cross opcode.</li>
<li>glsl: Refactor get_num_operands.</li>
<li>glsl: Simplify a type check by using type-&gt;is_integer().</li>
<li>glsl: Combine many instruction lowering passes into one.</li>
<li>mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.</li>
<li>glsl: Don't inline function prototypes.</li>
<li>glsl: Use do_common_optimization in the standalone compiler.</li>
<li>glsl: Add a virtual as_discard() method.</li>
<li>glsl: Refactor out cloning of function prototypes.</li>
<li>glsl: Lazily import built-in function prototypes.</li>
<li>glsl: Remove anti-built-in hacks from the print visitor.</li>
<li>glsl/linker: Free any IR discarded by optimization passes.</li>
<li>glsl: Add an optimization pass to simplify discards.</li>
<li>glsl: Add a lowering pass to move discards out of if-statements.</li>
<li>glsl: Remove "discard" support from lower_jumps.</li>
<li>glsl: Add comments to lower_jumps (from the commit message).</li>
<li>ir_print_visitor: Print out constant structure values.</li>
<li>glsl: Factor out code which emits a new function into the IR stream.</li>
<li>symbol_table: Add support for adding a symbol at top-level/global scope.</li>
<li>glsl: Properly add functions during lazy built-in prototype importing.</li>
<li>glcpp: Don't emit SPACE tokens in conditional_tokens production.</li>
<li>Refresh autogenerated glcpp parser.</li>
<li>glsl: Clean up code by adding a new is_break() function.</li>
<li>glsl: Consider the "else" branch when looking for loop breaks.</li>
<li>Remove OES_compressed_paletted_texture from the ES2 extension list.</li>
<li>glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).</li>
<li>glsl: Support if-flattening beyond a given maximum nesting depth.</li>
<li>i965: Flatten if-statements beyond depth 16 on pre-gen6.</li>
<li>i965: Internally enable GL_NV_blend_square on ES2.</li>
</ul>
 
<p>Kristian Høgsberg (16):</p>
<ul>
<li>glx: Hold on to drawables if we're just switching to another context</li>
<li>intel: Fix GL_ARB_shading_language_120 commit</li>
<li>dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontext</li>
<li>glx: Invalidate buffers after binding a drawable</li>
<li>dri: Pass the __DRIscreen and the __DRIscreen private back to image lookup</li>
<li>glx: Only remove drawables from the hash when we actually delete them</li>
<li>gles2: Add GL_EXT_texture_format_BGRA8888 support</li>
<li>Get rid of GL/internal/glcore.h</li>
<li>gl: Remove unused GLcontextModes fields</li>
<li>Rename GLvisual and __GLcontextModes to struct gl_config</li>
<li>Drop GLframebuffer typedef and just use struct gl_framebuffer</li>
<li>Drop GLcontext typedef and use struct gl_context instead</li>
<li>Drop the "neutral" tnl module</li>
<li>Only install vtxfmt tables for OpenGL</li>
<li>i965: Don't write mrf assignment for pointsize output</li>
<li>docs: Fix MESA_drm_image typo</li>
</ul>
 
<p>Krzysztof Smiechowicz (1):</p>
<ul>
<li>nvfx: Pair os_malloc_aligned() with os_free_aligned().</li>
</ul>
 
<p>Luca Barbieri (84):</p>
<ul>
<li>auxiliary: fix unintended fallthrough</li>
<li>glsl: add pass to lower variable array indexing to conditional assignments</li>
<li>auxiliary: fix depth-only and stencil-only clears</li>
<li>gallium: avoid the C++ keyword "template" in sw_winsys.h</li>
<li>softpipe: make z/s test always pass if no zsbuf, instead of crashing</li>
<li>tgsi: add switch/case opcodes to tgsi_opcode_tmp.h</li>
<li>softpipe: fix whitespace</li>
<li>d3d1x: add new Direct3D 10/11 COM state tracker for Gallium</li>
<li>d3d1x: add blob and signature extraction APIs</li>
<li>d3d1x: fix compilation with recent Wine versions installed</li>
<li>d3d1x: add missing file</li>
<li>d3d1x: actually enable and fix blob apis</li>
<li>d3d1x: fix build with compilers other than GCC 4.5</li>
<li>d3d1x: add template parameters to base class ctor calls for GCC 4.4</li>
<li>d3d1x: fix GCC 4.1/4.2 build</li>
<li>d3d1x: ignore errors while building docs</li>
<li>d3d1x: attempt to fix/workaround bug #30322</li>
<li>nvfx: remove gl_PointCoord hack</li>
<li>glx: decouple dri2.c and GLX, fixing Gallium EGL and d3d1x build</li>
<li>winsys: automatically build sw winsys needed by EGL and d3d1x</li>
<li>d3d1x: don't build progs automatically</li>
<li>d3d1x: add missing memory barrier</li>
<li>d3d1x: link with CXXFLAGS</li>
<li>d3d1x: fix cf analysis</li>
<li>d3d1x: fix warning</li>
<li>d3d1x: fix segfault when hashing</li>
<li>d3d1x: destroy native_display on adapter destruction</li>
<li>d3d1x: fix GUID declarations</li>
<li>d3d1x: redesign the HWND resolver interface</li>
<li>d3d1x: fix API name</li>
<li>d3d1x: define GUIDs in the normal way</li>
<li>d3d1x: add Wine dlls (tri, tex working, but no other testing)</li>
<li>d3d1x: properly reference count the backend</li>
<li>d3d1x: fix deadlocks on non-recursive mutex</li>
<li>d3d1x: bind NULL CSOs before destroying default CSOs on context dtor</li>
<li>d3d1x: initialize the mutex</li>
<li>d3d1x: autogenerate shader enums and text from def files</li>
<li>d3d1x: s/tpf/sm4/g</li>
<li>d3d1x: normalize whitespace</li>
<li>d3d1x: remove specstrings</li>
<li>d3d1x: minifix</li>
<li>d3d1x: rename context params</li>
<li>d3d11: rename screen params</li>
<li>d3d1x: rename params in misc and objects</li>
<li>d3d1x: rename parameters in dxgi</li>
<li>d3d11: obliterate IDL parameter names</li>
<li>d3d1x: remove specstrings.h include</li>
<li>d3d1x: flush the pipe context when presenting</li>
<li>d3d1x: remove another include specstrings.h</li>
<li>d3d1x: flush properly</li>
<li>d3d1x: add missing guid.cpp</li>
<li>d3d1x: fix build without system EGL/egl.h</li>
<li>d3d1x: add autogenerated files as prerequisites, so make builds them</li>
<li>d3d1x: obliterate IDL parameter names from d3d10.idl from Wine too</li>
<li>d3d1x: add shader dumping</li>
<li>d3d1x: add untested support for geometry shader translation</li>
<li>d3d1x: don't assert on unsupported resource types</li>
<li>d3d1x: fix CheckMultisampleQualityLevels</li>
<li>d3d1x: draw to the correct buffer</li>
<li>d3d1x: fix linking of dxbc2tgsi</li>
<li>nvfx: allow setting NULL constant buffers</li>
<li>nvfx: add RGB framebuffer format support in addition to BGR</li>
<li>d3d1x: don't crash on drivers not supporting vertex or geometry sampling</li>
<li>d3d1x: assert if X visual is not among enumerated visuals</li>
<li>d3d1x: stop using GLX in demos, just use the default visual</li>
<li>d3d1x: CRLF -&gt; LF in progs</li>
<li>mesa: make makedepend an hard requirement</li>
<li>gallium: add $(PROGS_DEPS) as dependencies for $(PROGS)</li>
<li>d3d1x: fix parallel build</li>
<li>d3d1x: add private gitignore file</li>
<li>d3d1x: fix progs linking if not all EGL platforms are enabled</li>
<li>d3d1x: link progs with CXXFLAGS</li>
<li>d3d11: advertise IDXGIDevice1, not just IDXGIDevice</li>
<li>d3d11: ignore StructureByteStride</li>
<li>d3d1x: link to libdrm for X11 platform too</li>
<li>ureg: support centroid interpolation</li>
<li>d3d1x: support centroid interpolation</li>
<li>d3d1x: properly support specifying MipLevels as 0</li>
<li>d3d1x: put proper calling convention in headers, fixes 64-bit builds</li>
<li>d3d1x: rework DXGI for occlusion testing and default width/height</li>
<li>d3d1x: fix Map</li>
<li>d3d11: fix reference counting so devices get freed</li>
<li>d3d1x: work around crash in widl</li>
<li>glsl: Unroll loops with conditional breaks anywhere (not just the end)</li>
</ul>
 
<p>Lucas Stach (1):</p>
<ul>
<li>nvfx: fill PIPE_CAP_PRIMITIVE_RESTART and PIPE_CAP_SHADER_STENCIL_EXPORT</li>
</ul>
 
<p>Marek Olšák (100):</p>
<ul>
<li>r300g: prevent creating multiple winsys BOs for the same handle</li>
<li>r300g/swtcl: fix CS overrun</li>
<li>st/mesa: fix assertion failure in GetTexImage for cubemaps</li>
<li>util: make calling remove_from_list multiple times in a row safe</li>
<li>r300g: fixup long-lived BO maps being incorrectly unmapped when flushing</li>
<li>r300g: make accessing map_list and buffer_handles thread-safe</li>
<li>r300g: fix a copy-paste typo for logging</li>
<li>r300g: fix the border color for every format other than PIPE_FORMAT_B8G8R8A8</li>
<li>Build r300g by default</li>
<li>util: fix util_pack_color for B4G4R4A4</li>
<li>r300g: fix macrotiling on R350</li>
<li>r300g: code cleanups</li>
<li>r300/compiler: fix projective mapping of 2D NPOT textures</li>
<li>r300/compiler: do not use copy propagation if SaturateMode is used</li>
<li>r300/compiler: fix shadow sampling with swizzled coords</li>
<li>r300g: add support for 3D NPOT textures without mipmapping</li>
<li>r300g: fix swizzling of texture border color</li>
<li>configure.ac: look for libdrm_radeon before building gallium/r300,r600</li>
<li>configure.ac: do not build xorg-r300g by default</li>
<li>Makefile: ensure Gallium's Makefile.xorg and SConscript.dri are in the tarball</li>
<li>r300g: add support for formats beginning with X, like X8R8G8B8</li>
<li>r300g: fix conditional rendering in non-wait path</li>
<li>r300g: add support for R8G8 colorbuffers</li>
<li>r300g: add support for L8A8 colorbuffers</li>
<li>update release notes for Gallium</li>
<li>r300g: fix microtiling for 16-bits-per-channel formats</li>
<li>r300g: do not print get_param errors in non-debug build</li>
<li>r300g: say no to PIPE_CAP_STREAM_OUTPUT and PIPE_CAP_PRIMITIVE_RESTART</li>
<li>mesa: allow FBO attachments of formats LUMINANCE, LUMINANCE_ALPHA, and INTENSITY</li>
<li>r300g: fix texture border for 16-bits-per-channel formats</li>
<li>st/mesa: support RGBA16 and use it for RGBA12 as well</li>
<li>r300g: add a default channel ordering of texture border for unhandled formats</li>
<li>r300g: mention ATI in the renderer string</li>
<li>r300g: rename has_hyperz -&gt; can_hyperz</li>
<li>r300g: turn magic numbers into names in the hyperz code</li>
<li>gallium: add CAPs for indirect addressing and lower it in st/mesa when needed</li>
<li>tgsi: fill out CAPs for indirect addressing</li>
<li>i915g: fill out CAPs for indirect addressing</li>
<li>i965g: fill out CAPs for indirect addressing</li>
<li>nv50: fill out CAPs for indirect addressing</li>
<li>nvfx: fill out CAPs for indirect addressing</li>
<li>r300g: fill out CAPs for indirect addressing</li>
<li>r600g: fill out CAPs for indirect addressing</li>
<li>svga: fill out CAPs for indirect addressing</li>
<li>r300g: fix texture border color for all texture formats</li>
<li>r300g: clean up redundancy in draw functions</li>
<li>r300g: return shader caps from Draw for SWTCL vertex shaders</li>
<li>r300g: remove the hack with OPCODE_RET</li>
<li>r300g: print FS inputs uninitialized due to hardware limits to stderr</li>
<li>r300g: fix rendering with no vertex elements</li>
<li>st/mesa: enable ARB_explicit_attrib_location and EXT_separate_shader_objects</li>
<li>docs: add GL 4.1 status</li>
<li>gallium: add PIPE_SHADER_CAP_SUBROUTINES</li>
<li>st/mesa: set MaxUniformComponents</li>
<li>u_blitter: use PIPE_TRANSFER_DISCARD to prevent cpu/gpu stall</li>
<li>r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction</li>
<li>r300/compiler: remove duplicate function rc_mask_to_swz</li>
<li>r300/compiler: add a function for swizzling a mask</li>
<li>r300/compiler: move util functions to radeon_compiler_util</li>
<li>u_blitter: interpolate clear color using a GENERIC varying instead of COLOR</li>
<li>st/mesa: fix texture border color for RED and RG base formats</li>
<li>util: rename u_mempool -&gt; u_slab</li>
<li>r300g: fix texture border color once again</li>
<li>r300/compiler: implement and lower OPCODE_CLAMP</li>
<li>ir_to_mesa: Add support for conditional discards.</li>
<li>r300g: fix texture swizzling with compressed textures on r400-r500</li>
<li>r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only</li>
<li>r300g: fix up cubemap texture offset computation</li>
<li>r300/compiler: disable the swizzle lowering pass in vertex shaders</li>
<li>r300g: fix build</li>
<li>r300g: use internal BO handle for add_buffer and write_reloc</li>
<li>r300g: implement simple transfer_inline_write for buffers</li>
<li>mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium</li>
<li>r300g: fix pointer arithmetic with void* in transfer_inline_write</li>
<li>r300g: do not remove unused constants if we are not near the limit</li>
<li>r300g: add capability bit index_bias_supported</li>
<li>r300g: one more r500_index_bias_supported leftover</li>
<li>r300g: do not use the index parameter in set_constant_buffer</li>
<li>r300g: cleanup winsys</li>
<li>r300g: optimize looping over atoms</li>
<li>st/mesa: initialize key in st_vp_varient</li>
<li>u_blitter: use util_is_format_compatible in the assert</li>
<li>r300g: cache packet dwords of 3D_LOAD_VBPNTR in a command buffer if possible</li>
<li>r300g: validate buffers only if any of bound buffers is changed</li>
<li>r300g: also revalidate the SWTCL vertex buffer after its reallocation</li>
<li>r300/compiler: don't terminate regalloc if we surpass max temps limit</li>
<li>r300/compiler: add a function to query program stats (alu, tex, temps..)</li>
<li>r300/compiler: cleanup rc_run_compiler</li>
<li>r300/compiler: do not print pair/tex/presub program stats for vertex shaders</li>
<li>r300/compiler: handle DPH and XPD in rc_compute_sources_for_writemask</li>
<li>r300/compiler: make lowering passes possibly use up to two less temps</li>
<li>r300/compiler: remove at least unused immediates if externals cannot be removed</li>
<li>r300/compiler: fix LIT in VS</li>
<li>r300/compiler: fix swizzle lowering with a presubtract source operand</li>
<li>r300g: fix rendering with a vertex attrib having a zero stride</li>
<li>r300g: finally fix the texture corruption on r3xx-r4xx</li>
<li>r300g/swtcl: re-enable LLVM</li>
<li>r300g: mark vertex arrays as dirty after a buffer_offset change</li>
<li>mesa: fix texel store functions for some float formats</li>
<li>r300/compiler: disable the rename_regs pass for loops</li>
</ul>
 
<p>Mario Kleiner (1):</p>
<ul>
<li>mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.</li>
</ul>
 
<p>Mathias Fröhlich (3):</p>
<ul>
<li>r300g: Avoid returning values in a static array, fixing a potential race</li>
<li>r600g: Only compare active vertex elements</li>
<li>st/mesa: Set PIPE_TRANSFER_DISCARD for GL_MAP_INVALIDATE_RANGE/BUFFFER_BIT</li>
</ul>
 
<p>Michal Krol (10):</p>
<ul>
<li>svga: Fix relative addressing translation for pixel shaders.</li>
<li>svga: Integer constant register file has a separate namespace.</li>
<li>tgsi/exec: Cleanup the remaining arithmetic instructions.</li>
<li>tgsi/exec: Get rid of obsolete condition codes.</li>
<li>tgsi/build: Reduce interface clutter.</li>
<li>graw/gdi: Initial commit.</li>
<li>scons: Hook-up graw-gdi target.</li>
<li>graw/gdi: Fix window dimensions.</li>
<li>os: Open file streams in binary mode.</li>
<li>graw: Export graw_save_surface_to_file().</li>
</ul>
 
<p>Nicolas Kaiser (26):</p>
<ul>
<li>swrast: remove duplicated include</li>
<li>egl: remove duplicated include</li>
<li>gallium/rtasm: remove duplicated include</li>
<li>gallium/util: remove duplicated include</li>
<li>gallium/i915: remove duplicated include</li>
<li>gallium/llvmpipe: remove duplicated include</li>
<li>gallium/softpipe: remove duplicated include</li>
<li>gallium/st: remove duplicated includes</li>
<li>gallium/winsys: remove duplicated include</li>
<li>glx: remove duplicated include</li>
<li>dri/common: remove duplicated include</li>
<li>dri/i810: remove duplicated include</li>
<li>dri/i915: remove duplicated include</li>
<li>dri/i965: remove duplicated include</li>
<li>dri/intel: remove duplicated include</li>
<li>dri/mga: remove duplicated include</li>
<li>dri/r128: remove duplicated include</li>
<li>dri/r300: remove duplicated include</li>
<li>dri/r600: remove duplicated include</li>
<li>dri/radeon: remove duplicated includes</li>
<li>dri/savage: remove duplicated include</li>
<li>main: remove duplicated includes</li>
<li>math: remove duplicated includes</li>
<li>st: remove duplicated include</li>
<li>i965g: use Elements macro instead of manual sizeofs</li>
<li>nv50: fix always true conditional in shader optimization</li>
</ul>
 
<p>Orion Poplawski (1):</p>
<ul>
<li>osmesa: link against libtalloc</li>
</ul>
 
<p>Owen W. Taylor (1):</p>
<ul>
<li>r600g: Fix location for clip plane registers</li>
</ul>
 
<p>Peter Clifton (3):</p>
<ul>
<li>intel: Fix emit_linear_blit to use DWORD aligned width blits</li>
<li>intel: Add assert check for blitting alignment.</li>
<li>meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear</li>
</ul>
 
<p>Robert Hooker (2):</p>
<ul>
<li>intel: Add a new B43 pci id.</li>
<li>egl_dri2: Add missing intel chip ids.</li>
</ul>
 
<p>Roland Scheidegger (16):</p>
<ul>
<li>gallivm: fix copy&amp;paste bug</li>
<li>gallivm: don't use URem/UDiv when calculating offsets for blocks</li>
<li>gallivm: optimize yuv decoding</li>
<li>gallivm: fix trunc/itrunc comment</li>
<li>gallivm: faster iround implementation for sse2</li>
<li>gallivm: replace sub/floor/ifloor combo with ifloor_fract</li>
<li>gallivm: optimize some tex wrap mode calculations a bit</li>
<li>gallivm: more linear tex wrap mode calculation simplification</li>
<li>gallivm: avoid unnecessary URem in linear wrap repeat case</li>
<li>gallivm: optimize soa linear clamp to edge wrap mode a bit</li>
<li>gallivm: make use of new iround code in lp_bld_conv.</li>
<li>gallivm: fix different handling of [non]normalized coords in linear soa path</li>
<li>gallivm: only use lp_build_conv 4x4f -&gt; 1x16 ub fastpath with sse2</li>
<li>r200: fix r200 large points</li>
<li>mesa: remove unneeded DD_POINT_SIZE and DD_LINE_WIDTH tricaps</li>
<li>gallium: support for array textures and related changes</li>
</ul>
 
<p>Shuang He (1):</p>
<ul>
<li>mesa: allow GLfixed arrays for OpenGL ES 2.0</li>
</ul>
 
<p>Stephan Schmid (1):</p>
<ul>
<li>r600g: fix relative addressing when splitting constant accesses</li>
</ul>
 
<p>Thomas Hellstrom (21):</p>
<ul>
<li>st/xorg: Don't try to use option values before processing options</li>
<li>xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers</li>
<li>st/xorg: Add a customizer option to get rid of annoying cursor update flicker</li>
<li>xorg/vmwgfx: Don't hide HW cursors when updating them</li>
<li>st/xorg: Don't try to remove invalid fbs</li>
<li>st/xorg: Fix typo</li>
<li>st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments</li>
<li>st/xorg: Fix compilation errors for Xservers compiled without Composite</li>
<li>st/xorg: Don't use deprecated x*alloc / xfree functions</li>
<li>xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions</li>
<li>st/xorg: Fix compilation for Xservers &gt;= 1.10</li>
<li>mesa: Make sure we have the talloc cflags when using the talloc headers</li>
<li>egl: Add an include for size_t</li>
<li>mesa: Add talloc includes for gles</li>
<li>st/egl: Fix build for include files in nonstandard places</li>
<li>svga/drm: Optionally resolve calls to powf during link-time</li>
<li>gallium/targets: Trivial crosscompiling fix</li>
<li>st/xorg: Add a function to flush pending rendering and damage</li>
<li>gallium/targets/xorg-vmwgfx: Xv fixes</li>
<li>xorg/vmwgfx: Flush even if we don't autopaint the color key</li>
<li>xorg/vmwgfx: Don't clip video to viewport</li>
</ul>
 
<p>Tilman Sauerbeck (35):</p>
<ul>
<li>r600g: Fixed a bo leak in r600_blit_state_ps_shader().</li>
<li>r600g: Use clamped math for RCP and RSQ.</li>
<li>r600g: Formatting fixes.</li>
<li>r600g: Added DB_SHADER_CONTROL defines.</li>
<li>r600g: Only set PA_SC_EDGERULE on rv770 and greater.</li>
<li>r600g: Enable PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED.</li>
<li>r600g: Fixed the shift in S_02880C_KILL_ENABLE.</li>
<li>glsl2: Empty functions can be inlined.</li>
<li>glsl2: Fixed cloning of ir_call error instructions.</li>
<li>r600g: Added support for TGSI_SEMANTIC_FACE.</li>
<li>gallium/docs: Fixed a typo in the SCS opcode description.</li>
<li>r600g: Honour destination operand's writemask in the SCS implementation.</li>
<li>r600g: Implemented the Z and W component write for the SCS opcode.</li>
<li>python/tests: Fixed tri.py for API and TGSI syntax changes.</li>
<li>r600g: Removed debug code.</li>
<li>gallium/docs: The RET opcode may appear anywhere in a subroutine.</li>
<li>r600g: Destroy the blitter.</li>
<li>r600g: Fixed two texture surface leaks in r600_blit_uncompress_depth().</li>
<li>r600g: Cleaned up index buffer reference handling in the draw module.</li>
<li>r600g: Fixed r600_vertex_element leak.</li>
<li>r600g: Added r600_pipe_shader_destroy().</li>
<li>r600g: Also clear bc data when we're destroying a shader.</li>
<li>r600g: In radeon_bo(), call LIST_INITHEAD early.</li>
<li>r600g: Destroy the blitter.</li>
<li>r600g: Removed unused 'ptr' argument from radeon_bo().</li>
<li>r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().</li>
<li>r600g: Fixed unmap condition in radeon_bo_pb_destroy().</li>
<li>r600g: Made radeon_bo::map_count signed.</li>
<li>r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.</li>
<li>r600g: Delete custom_dsa_flush on shutdown.</li>
<li>r600g: Fixed two memory leaks in winsys.</li>
<li>r600g: Destroy the winsys in r600_destroy_screen().</li>
<li>st/mesa: Reset the index buffer before destroying the pipe context.</li>
<li>st/mesa: Reset the constant buffers before destroying the pipe context.</li>
<li>r600g: Removed duplicated call to tgsi_split_literal_constant().</li>
</ul>
 
<p>Timo Wiren (1):</p>
<ul>
<li>Fix typos in comments and debug output strings.</li>
</ul>
 
<p>Tom Fogal (3):</p>
<ul>
<li>Implement x86_64 atomics for compilers w/o intrinsics.</li>
<li>Prefer intrinsics to handrolled atomic ops.</li>
<li>Revert "Prefer intrinsics to handrolled atomic ops."</li>
</ul>
 
<p>Tom Stellard (32):</p>
<ul>
<li>r300/compiler: Refactor the pair instruction data structures</li>
<li>r300g: Always try to build libr300compiler.a</li>
<li>r300/compiler: Fix two mistakes in the presubtract optimization pass.</li>
<li>r300/compiler: Add more helper functions for iterating through sources</li>
<li>r300/compiler: Print immediate values after "dead constants" pass</li>
<li>r300/compiler: radeon_remove_constants.c: fix indentation</li>
<li>r300/compiler: Use rc_for_all_reads_src() in "dead constants" pass</li>
<li>r300/compiler: Fix segfault in error path</li>
<li>r300/compiler: Don't use rc_error() unless the error is unrecoverable</li>
<li>r300/compiler: Don't merge instructions that write output regs and ALU result</li>
<li>r300/compiler: Create a helper function for merging presubtract sources</li>
<li>r300/compiler: Fix incorrect assumption</li>
<li>r300/compiler: Clear empty registers after constant folding</li>
<li>r300/compiler: Add a new function for more efficient dataflow analysis</li>
<li>r300g: Add new debug option for logging vertex/fragment program stats</li>
<li>r300/compiler: Use rc_get_readers_normal() for presubtract optimizations</li>
<li>r300/compiler: Don't clobber presubtract sources during optimizations</li>
<li>r300/compiler: Don't track readers into an IF block.</li>
<li>r300/compiler: Make sure presubtract sources use supported swizzles</li>
<li>r300/compiler: Fix register allocator's handling of loops</li>
<li>r300/compiler: Fix instruction scheduling within IF blocks</li>
<li>r300/compiler: Use zero as the register index for unused sources</li>
<li>r300/compiler: Ignore alpha dest register when replicating the result</li>
<li>r300/compiler: Add rc_get_readers()</li>
<li>r300/compiler: Handle BREAK and CONTINUE in rc_get_readers()</li>
<li>r300/compiler: Track readers through branches in rc_get_readers()</li>
<li>r300/compiler: Convert RGB to alpha in the scheduler</li>
<li>r300/compiler: Use presubtract operations as much as possible</li>
<li>r300/compiler: Enable rename_reg pass for r500 cards</li>
<li>r300/compiler: Add a more efficient version of rc_find_free_temporary()</li>
<li>r300/compiler: Don't allow presubtract sources to be remapped twice</li>
<li>r300/compiler: Fix black terrain in Civ4</li>
</ul>
 
<p>Victor Tseng (1):</p>
<ul>
<li>egl/i965: include inline_wrapper_sw_helper.h</li>
</ul>
 
<p>Viktor Novotný (6):</p>
<ul>
<li>dri/nouveau: Import headers from rules-ng-ng</li>
<li>dri/nouveau: nv04: Use rules-ng-ng headers</li>
<li>dri/nouveau: nv10: Use rules-ng-ng headers</li>
<li>dri/nouveau nv20: Use rules-ng-ng headers</li>
<li>dri/nouveau: Remove nouveau_class.h, finishing switch to rules-ng-ng headers</li>
<li>dri/nouveau: Clean up magic numbers in get_rt_format</li>
</ul>
 
<p>Vinson Lee (214):</p>
<ul>
<li>llvmpipe: Remove unnecessary header.</li>
<li>r600g: Remove unnecessary headers.</li>
<li>mesa: Include missing header in program.h.</li>
<li>glsl: Fix 'format not a string literal and no format arguments' warning.</li>
<li>r600g: Silence uninitialized variable warning.</li>
<li>r600g: Silence uninitialized variable warning.</li>
<li>nvfx: Silence uninitialized variable warnings.</li>
<li>r600g: Silence uninitialized variable warning.</li>
<li>r600g: Silence uninitialized variable warning.</li>
<li>r600g: Silence uninitialized variable warning.</li>
<li>r600g: Silence unused variable warning.</li>
<li>nv50: Update files in SConscript to match Makefile.</li>
<li>nv50: Remove unnecessary headers.</li>
<li>nv50: Silence uninitialized variable warning.</li>
<li>nv50: Silence uninitialized variable warning.</li>
<li>nv50: Silence uninitialized variable warning.</li>
<li>gallivm: Remove unnecessary headers.</li>
<li>draw: Remove unnecessary header.</li>
<li>nv50: Silence uninitialized variable warnings.</li>
<li>nv50: Fix 'control reaches end of non-void function' warning.</li>
<li>mesa/st: Silence uninitialized variable warning.</li>
<li>gallivm: Remove unnecessary header.</li>
<li>r600g: Remove unnecessary header.</li>
<li>r600g: Remove unnecessary headers.</li>
<li>r600g: Fix implicit declaration warning.</li>
<li>r600g: Fix memory leak on error path.</li>
<li>r600g: Silence uninitialized variable warning.</li>
<li>r600g: Silence unused variable warnings.</li>
<li>mesa: bump version to 7.10</li>
<li>ir_to_mesa: Remove unused member array_indexed from struct statevar_element.</li>
<li>mesa: Silence "'valid_texture_object' defined but not used" warning.</li>
<li>x86: Silence unused variable warning on Mac OS X.</li>
<li>glsl: Fix 'control reaches end of non-void function' warning.</li>
<li>nvfx: Remove const qualifer from nvfx_vertprog_translate.</li>
<li>nvfx: Silence uninitialized variable warnings.</li>
<li>r600g: Remove unused variable.</li>
<li>nv50: Silence missing initializer warning.</li>
<li>nv50: Remove dead initialization.</li>
<li>nv50: Remove dead initialization.</li>
<li>tgsi: Remove duplicate case value.</li>
<li>glut: Define markWindowHidden for non-Windows only.</li>
<li>glut: Define eventParser for non-Windows only.</li>
<li>r300g: Silence uninitialized variable warning.</li>
<li>intel: Fix implicit declaration of function '_mesa_meta_Bitmap' warning.</li>
<li>mesa: Remove unnecessary headers.</li>
<li>r600g: Remove unnecessary header.</li>
<li>unichrome: Remove unnecessary header.</li>
<li>intel: Remove unnecessary headers.</li>
<li>r600g: Remove unused variable.</li>
<li>r600g: Disable unused variables.</li>
<li>r600g: Remove unused variable.</li>
<li>r600g: Silence 'control reaches end of non-void function' warning.</li>
<li>r600g: Remove unused variable.</li>
<li>r600g: Remove unused variable.</li>
<li>r600g: Disable unused variables.</li>
<li>intel: Remove unnecessary header.</li>
<li>st/dri: Remove unnecessary header.</li>
<li>r600g: Remove unused variable.</li>
<li>r300g: Remove unused variable.</li>
<li>r600g: Don't return a value in function returning void.</li>
<li>r600g: Remove unused variables.</li>
<li>r600g: Include p_compiler.h instead of malloc.h.</li>
<li>r600g: Silence uninitialized variable warnings.</li>
<li>scons: Add MinGW-w64 prefixes for MinGW build.</li>
<li>dri: Add GET_PROGRAM_NAME definition for Mac OS X.</li>
<li>scons: Add program/sampler.cpp to SCons build.</li>
<li>mesa: Fix printf format warning.</li>
<li>mesa: Fix printf format warning.</li>
<li>mesa: Fix printf format warning.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r600g: Update SConscript.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r600g: Update SConscript.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r600g: Update SConscript.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r600g: Fix SCons build.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Remove declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>glsl: Remove unnecessary header.</li>
<li>savage: Remove unnecessary header.</li>
<li>r600g: Remove unused variable.</li>
<li>r600g: Remove unnecessary headers.</li>
<li>r600g: Fix SCons build.</li>
<li>r600g: Remove unnecessary header.</li>
<li>gallivm: Remove unnecessary header.</li>
<li>r600g: Silence uninitialized variable warning.</li>
<li>r600g: Silence uninitialized variable warning.</li>
<li>r600g: Silence uninitialized variable warning.</li>
<li>i915: Silence unused variable warning in non-debug builds.</li>
<li>i915: Silence unused variable warning in non-debug builds.</li>
<li>i965: Silence unused variable warning on non-debug builds.</li>
<li>i965: Silence unused variable warning on non-debug builds.</li>
<li>i965: Initialize member variables.</li>
<li>r300: Silence uninitialized variable warning.</li>
<li>tdfx: Silence unused variable warning on non-debug builds.</li>
<li>gallivm: Remove unnecessary header.</li>
<li>glsl: Initialize variable in ir_derefence_array::constant_expression_value</li>
<li>mesa: Add missing header to shaderobj.h.</li>
<li>llvmpipe: Return non-zero exit code for lp_test_round failures.</li>
<li>r300/compiler: Remove unused variable.</li>
<li>st/xorg: Fix memory leak on error path.</li>
<li>llvmpipe: Initialize state variable in debug_bin function.</li>
<li>llvmpipe: Initialize variable.</li>
<li>draw: Move loop variable declaration outside for loop.</li>
<li>r600g: Ensure r600_src is initialized in tgsi_exp function.</li>
<li>glsl: Add assert for unhandled ir_shader case.</li>
<li>swrast: Print out format on unexpected failure in _swrast_DrawPixels.</li>
<li>llvmpipe: Remove unnecessary header.</li>
<li>draw: Remove unnecessary header.</li>
<li>gallivm: Silence uninitialized variable warnings.</li>
<li>gallivm: Silence uninitialized variable warnings.</li>
<li>gallivm: Silence uninitialized variable warning.</li>
<li>r300g: Silence uninitialized variable warning.</li>
<li>mesa: Remove unnecessary headers.</li>
<li>r600g: Silence uninitialized variable warnings.</li>
<li>st/mesa: Remove unnecessary header.</li>
<li>mesa: Remove unnecessary header.</li>
<li>egl: Remove unnecessary headers.</li>
<li>swrast: Print out format on unexpected failure in _swrast_ReadPixels.</li>
<li>st/mesa: Silence uninitialized variable warning.</li>
<li>savage: Remove unnecessary header.</li>
<li>st/vega: Remove unnecessary headers.</li>
<li>dri/nouveau: Silence uninitialized variable warning.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>i965: Silence uninitialized variable warning.</li>
<li>i965: Silence uninitialized variable warning.</li>
<li>mesa: Clean up header file inclusion in accum.h.</li>
<li>mesa: Clean up header file inclusion in version.h.</li>
<li>mesa: Clean up header file inclusion in api_loopback.h.</li>
<li>mesa: Clean up header file inclusion in api_validate.h.</li>
<li>mesa: Include mfeatures.h in api_loopback for FEATURE_beginend.</li>
<li>mesa: Include mfeatures.h in api_validate.c for FEATURE_* symbols.</li>
<li>mesa: Clean up header file inclusion in arrayobj.h.</li>
<li>mesa: Clean up header file inclusion in atifragshader.h.</li>
<li>mesa: Clean up header file inclusion in attrib.h.</li>
<li>mesa: Clean up header file inclusion in blend.h.</li>
<li>mesa: Clean up header file inclusion in buffers.h.</li>
<li>mesa: Clean up header file inclusion in colortab.h.</li>
<li>mesa: Clean up header file inclusion in convolve.h.</li>
<li>mesa: Clean up header file inclusion in debug.h.</li>
<li>mesa: Clean up header file inclusion in depth.h.</li>
<li>mesa: Clean up header file inclusion in depthstencil.h.</li>
<li>mesa: Clean up header file inclusion in drawpix.h.</li>
<li>mesa: Clean up header file inclusion in drawtex.h.</li>
<li>mesa: Clean up header file inclusion in enable.h.</li>
<li>mesa: Clean up header file inclusion in extensions.h.</li>
<li>graw: Add struct pipe_surface forward declaration.</li>
<li>mesa: Clean up header file inclusion in fbobject.h.</li>
<li>mesa: Clean up header file inclusion in ffvertex_prog.h.</li>
<li>mesa: Clean up header file inclusion in fog.h.</li>
<li>mesa: Clean up header file inclusion in framebuffer.h.</li>
<li>mesa: Clean up header file inclusion in hint.h.</li>
<li>mesa: Clean up header file inclusion in histogram.h.</li>
<li>mesa: Clean up header file inclusion in image.h.</li>
<li>mesa: Add missing header and forward declarations in dd.h.</li>
<li>mesa: Clean up header file inclusion in light.h.</li>
<li>mesa: Clean up header file inclusion in lines.h.</li>
<li>mesa: Clean up header file inclusion in matrix.h.</li>
<li>mesa: Clean up header file inclusion in multisample.h.</li>
<li>mesa: Clean up header file inclusion in nvprogram.h.</li>
<li>winsys/xlib: Add cygwin to SConscript.</li>
<li>mesa: Clean up header file inclusion in pixel.h.</li>
<li>mesa: Clean up header file inclusion in pixelstore.h.</li>
<li>mesa: Fix printf format warnings.</li>
<li>mesa: Clean up header file inclusion in points.h.</li>
<li>i965: Silence uninitialized variable warning.</li>
<li>glsl: Add ir_constant_expression.cpp to SConscript.</li>
<li>mesa: Add definitions for inverse hyperbolic function on MSVC.</li>
<li>glsl: Fix 'control reaches end of non-void function' warning.</li>
<li>glsl: Add lower_vector.cpp to SConscript.</li>
<li>glsl: Fix type of label 'default' in switch statement.</li>
<li>st/mesa: Remove unnecessary headers.</li>
<li>swrast: Remove unnecessary header.</li>
<li>r600: Remove unnecesary header.</li>
<li>intel: Remove unnecessary header.</li>
<li>mesa: Clean up header file inclusion in polygon.h.</li>
<li>mesa: Clean up header file inclusion in rastpos.h.</li>
<li>mesa: Clean up header file inclusion in readpix.h.</li>
<li>mesa: Clean up header file inclusion in renderbuffer.h.</li>
<li>mesa: Clean up header file inclusion in scissor.h.</li>
<li>mesa: Clean up header file inclusion in shaderapi.h.</li>
<li>mesa: Clean up header file inclusion in shared.h.</li>
<li>mesa: Clean up header file inclusion in stencil.h.</li>
<li>r600: Remove unnecessary header.</li>
<li>llvmpipe: Remove unnecessary headers.</li>
<li>mesa: Clean up header file inclusion in syncobj.h.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>r300/compiler: Move declaration before code.</li>
<li>mesa: Clean up header file inclusion in texcompress.h.</li>
<li>st/vega: Silence uninitialized variable warning.</li>
<li>mesa: Clean up header file inclusion in texcompress_s3tc.h.</li>
<li>mesa: Clean up header file inclusion in texenvprogram.h.</li>
<li>mesa: Clean up header file inclusion in texformat.h.</li>
<li>mesa: Clean up header file inclusion in texgetimage.h.</li>
<li>mesa: Clean up header file inclusion in texobj.h.</li>
<li>gallium/noop: Add prototype for noop_init_state_functions.</li>
<li>mesa: Clean up header file inclusion in texrender.h.</li>
<li>mesa: Clean up header file inclusion in transformfeedback.h.</li>
<li>mesa: Clean up header file inclusion in varray.h.</li>
<li>mesa: Clean up header file inclusion in viewport.h.</li>
<li>r200: Silence uninitialized variable warning.</li>
<li>r600g: Fix SCons build.</li>
<li>i965: Silence uninitialized variable warning.</li>
</ul>
 
<p>Xavier Chantry (8):</p>
<ul>
<li>nv50: fix size of outputs_written array</li>
<li>nv50: apply layout_mask to tile_flags</li>
<li>nvfx: only expose one rt on nv30</li>
<li>nvfx: fb-&gt;nr_cbufs &lt;= 1 on nv30</li>
<li>nvfx: reset nvfx-&gt;hw_zeta</li>
<li>nvfx: fixes after array textures merge</li>
<li>init ps-&gt;context with util_surfaces_get and do_get</li>
<li>gallium/trace: check bind_vertex_sampler_states and set_vertex_sampler_views</li>
</ul>
 
<p>Xiang, Haihao (10):</p>
<ul>
<li>mesa: fix regression from b4bb6680200b5a898583392f4c831c02f41e63f7</li>
<li>i965: add support for polygon mode on Sandybridge.</li>
<li>i965: fix for flat shading on Sandybridge</li>
<li>i965: set minimum/maximum Point Width on Sandybridge</li>
<li>meta: allow nested meta operations</li>
<li>i965: support for two-sided lighting on Sandybridge</li>
<li>i965: fix register region description</li>
<li>i965: use align1 access mode for instructions with execSize=1 in VS</li>
<li>i965: don't spawn GS thread for LINELOOP on Sandybridge</li>
<li>i965: use BLT to clear buffer if possible on Sandybridge</li>
</ul>
 
<p>Zack Rusin (8):</p>
<ul>
<li>rbug: fix rbug when contexts are being destroyed</li>
<li>llvmpipe: fix rasterization of vertical lines on pixel boundaries</li>
<li>scons: build the xorg state trackers only when env includes drm</li>
<li>gallivm: implement indirect addressing of the output registers</li>
<li>gallivm: implement indirect addressing over inputs</li>
<li>gallivm: fix storing of the addr register</li>
<li>scons: add alias for identity</li>
<li>gallium/util: add states relevant to geometry shaders</li>
</ul>
 
<p>Zhenyu Wang (40):</p>
<ul>
<li>i965: disasm quarter and write enable instruction control on sandybridge</li>
<li>i965: new state dump for sandybridge</li>
<li>i965: enable accumulator update in PS kernel too on sandybridge</li>
<li>i965: Fix color interpolation on sandybridge</li>
<li>i965: force zero in clipper to ignore RTAIndex on sandybridge</li>
<li>i965: fix point size setting in header on sandybridge</li>
<li>i965: ff sync message change for sandybridge</li>
<li>i965: ignore quads for GS kernel on sandybridge</li>
<li>i965: add sandybridge viewport state bo into validation list</li>
<li>i965: VS use SPF mode on sandybridge for now</li>
<li>i965: fix jump count on sandybridge</li>
<li>i965: Fix sampler on sandybridge</li>
<li>i965: fix const register count for sandybridge</li>
<li>i965: Add all device ids for sandybridge</li>
<li>i965: sandybridge pipe control workaround before write cache flush</li>
<li>i965: only allow SIMD8 kernel on sandybridge now</li>
<li>i965: don't do calculation for delta_xy on sandybridge</li>
<li>i965: fix pixel w interpolation on sandybridge</li>
<li>i965: enable polygon offset on sandybridge</li>
<li>i965: fix scissor state on sandybridge</li>
<li>i965: fix point sprite on sandybridge</li>
<li>i965: fix occlusion query on sandybridge</li>
<li>i965: fallback bitmap operation on sandybridge</li>
<li>i965: Always set tiling for depth buffer on sandybridge</li>
<li>i965: fallback lineloop on sandybridge for now</li>
<li>Revert "i965: Always set tiling for depth buffer on sandybridge"</li>
<li>i965: always set tiling for fbo depth buffer on sandybridge</li>
<li>i965: Fix GS hang on Sandybridge</li>
<li>Revert "i965: fallback lineloop on sandybridge for now"</li>
<li>i965: refresh wm push constant also for BRW_NEW_FRAMENT_PROGRAM on gen6</li>
<li>i965: fix dest type of 'endif' on sandybridge</li>
<li>Revert "i965: VS use SPF mode on sandybridge for now"</li>
<li>i965: also using align1 mode for math2 on sandybridge</li>
<li>i965: Fix GS state uploading on Sandybridge</li>
<li>i965: upload WM state for _NEW_POLYGON on sandybridge</li>
<li>i965: Use MI_FLUSH_DW for blt ring flush on sandybridge</li>
<li>i965: explicit tell header present for fb write on sandybridge</li>
<li>i965: Fix occlusion query on sandybridge</li>
<li>i965: Use last vertex convention for quad provoking vertex on sandybridge</li>
<li>i965: Fix provoking vertex select in clip state for sandybridge</li>
</ul>
 
<p>Zou Nan hai (1):</p>
<ul>
<li>i965: skip too small size mipmap</li>
</ul>
 
<p>delphi (2):</p>
<ul>
<li>draw: added userclip planes and updated variant_key</li>
<li>draw: some changes to allow for runtime changes to userclip planes</li>
</ul>
 
<p>nobled (3):</p>
<ul>
<li>r300g: Abort if atom allocations fail</li>
<li>r300g: Abort if draw_create() fails</li>
<li>r300g: Drop unnecessary cast</li>
</ul>
 
<p>pontus lidman (1):</p>
<ul>
<li>mesa: check for posix_memalign() errors</li>
</ul>
 
<p>richard (2):</p>
<ul>
<li>evergreen : fix z format setting, enable stencil.</li>
<li>r600c : inline vertex format is not updated in an app, switch to use vfetch constants. For the 7.9 and 7.10 branches as well.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.11.1.html
0,0 → 1,396
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.11.1 Release Notes / November 17, 2011</h1>
 
<p>
Mesa 7.11.1 is a bug fix release which fixes bugs found since the 7.11 release.
</p>
<p>
Mesa 7.11 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
ac0181a4076770fb657c1169af43aa09 MesaLib-7.11.1.tar.gz
a77307102cee844ff6544ffa8fafeac1 MesaLib-7.11.1.tar.bz2
dfcb11516c1730f3981b55a65a835623 MesaLib-7.11.1.zip
2cb2b9ecb4fb7d1a6be69346ee886952 MesaGLUT-7.11.1.tar.gz
3f54e314290d4dacbab089839197080b MesaGLUT-7.11.1.tar.bz2
5d66c7ee8c5cc2f27e1ffb037ad4172c MesaGLUT-7.11.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=3165">Bug 3165</a> - texImage.IsCompressed and texImage.CompressedSize issues</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=23525">Bug 23525</a> - Software rendering on QEMU guests badly broken</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28125">Bug 28125</a> - DRI2 prevents indirect glx</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34628">Bug 34628</a> - [ilk] skybox errors in quake4</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36371">Bug 36371</a> - r200: piglit readPixSanity failure</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36669">Bug 36669</a> - EmitNoMainReturn set to 1 doesn't make the GLSL compiler lower all the RET opcodes</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36939">Bug 36939</a> - multitexturing is messed up in quake wars (regression)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37907">Bug 37907</a> - [swrast] SIGSEGV swrast/s_depth.c:569</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38163">Bug 38163</a> - Gnome Shell Display Bug</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38625">Bug 38625</a> - ast_to_hir.cpp:1761: const glsl_type* process_array_type(YYLTYPE*, const glsl_type*, ast_node*, _mesa_glsl_parse_state*): Assertion `dummy_instructions.is_empty()' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38729">Bug 38729</a> - [softpipe] sp_quad_depth_test.c:215:convert_quad_stencil: Assertion `0' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38863">Bug 38863</a> - [IVB]GPU hang when running 3D games like openarena</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39193">Bug 39193</a> - [llvmpipe and r600g] glCheckFramebufferStatusEXT segfaults in Gallium when checking status on a framebuffer bound to a texture that's bound to a pixmap</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39651">Bug 39651</a> - [glsl] Assertion failure when implicitly converting out parameters</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39991">Bug 39991</a> - [regression]GL_PALETTE8_RGBA8_OES format of glCompressedTexImage2D will cause err GL_INVALID_ENUM with GLES1.x</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40022">Bug 40022</a> - [i915] out-of-bounds write src/mesa/drivers/dri/i915/i915_fragprog.c:321</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40062">Bug 40062</a> - in etqw the strogg radar is black (regression)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40324">Bug 40324</a> - [SNB] gpu hang in mesa 7.11</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40533">Bug 40533</a> - i915: piglit glean/readPixSanity: DRI2SwapBuffers: BadDrawable (invalid Pixmap or Window parameter)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41096">Bug 41096</a> - [sandybridge-m-gt2+] GPU lockup render.IPEHR: 0x7a000002</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41969">Bug 41969</a> - The Mesa meta save/restore code doesn't always save the active program</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=42175">Bug 42175</a> - RV730: Display errors in glxgears &amp; WebGL</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=42268">Bug 42268</a> - [bisected] oglc pbo(negative.invalidOffsetValue) aborts on 7.11 branch</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-7.11..mesa-7.11.1
</pre>
 
<p>Adam Jackson (2):</p>
<ul>
<li>drisw: Remove cargo culting that breaks GLX 1.3 ctors</li>
<li>glx: Don't enable INTEL_swap_event unconditionally</li>
</ul>
 
<p>Alex Deucher (1):</p>
<ul>
<li>r600g: fix up vs export handling</li>
</ul>
 
<p>Ben Widawsky (1):</p>
<ul>
<li>intel: GetBuffer fix</li>
</ul>
 
<p>Brian Paul (15):</p>
<ul>
<li>docs: add 7.11 md5 sums</li>
<li>docs: news item for 7.11 release</li>
<li>st/mesa: Convert size assertions to conditionals in st_texture_image_copy.</li>
<li>softpipe: add missing stencil format case in convert_quad_stencil()</li>
<li>mesa: fix texstore addressing bugs for depth/stencil formats</li>
<li>mesa: add missing breaks for GL_TEXTURE_CUBE_MAP_SEAMLESS queries</li>
<li>swrast: don't try to do depth testing if there's no depth buffer</li>
<li>meta: fix/add checks for GL_EXT_framebuffer_sRGB</li>
<li>mesa: fix PACK_COLOR_5551(), PACK_COLOR_1555() macros</li>
<li>meta: fix broken sRGB mipmap generation</li>
<li>mesa: add _NEW_CURRENT_ATTRIB in _mesa_program_state_flags()</li>
<li>mesa: fix error handling for dlist image unpacking</li>
<li>mesa: generate GL_INVALID_OPERATION in glIsEnabledIndex() between Begin/End</li>
<li>mesa: fix incorrect error code in _mesa_FramebufferTexture1D/3DEXT()</li>
<li>mesa: fix format/type check in unpack_image() for bitmaps</li>
</ul>
 
<p>Carl Simonson (1):</p>
<ul>
<li>i830: Add missing vtable entry for i830 from the hiz work.</li>
</ul>
 
<p>Carl Worth (5):</p>
<ul>
<li>glcpp: Fix two (or more) successive applications of token pasting</li>
<li>glcpp: Test a non-function-like macro using the token paste operator</li>
<li>glcpp: Implement token pasting for non-function-like macros</li>
<li>glcpp: Raise error if defining any macro containing two consecutive underscores</li>
<li>glcpp: Add a test for #elif with an undefined macro.</li>
</ul>
 
<p>Chad Versace (5):</p>
<ul>
<li>glsl: Add method glsl_type::can_implicitly_convert_to()</li>
<li>glsl: Fix implicit conversions in non-constructor function calls</li>
<li>glsl: Remove ir_function.cpp:type_compare()</li>
<li>glsl: Fix conversions in array constructors</li>
<li>x86-64: Fix compile error with clang</li>
</ul>
 
<p>Chia-I Wu (3):</p>
<ul>
<li>glsl: empty declarations should be valid</li>
<li>intel: rename intel_extensions_es2.c to intel_extensions_es.c</li>
<li>intel: fix GLESv1 support</li>
</ul>
 
<p>Chris Wilson (1):</p>
<ul>
<li>i915: out-of-bounds write in calc_live_regs()</li>
</ul>
 
<p>Christopher James Halse Rogers (1):</p>
<ul>
<li>glx/dri2: Paper over errors in DRI2Connect when indirect</li>
</ul>
 
<p>David Reveman (1):</p>
<ul>
<li>i915g: Fix off-by-one in scissors.</li>
</ul>
 
<p>Eric Anholt (16):</p>
<ul>
<li>mesa: Don't skip glGetProgramEnvParam4dvARB if there was already an error.</li>
<li>mesa: Fix glGetUniform() type conversions.</li>
<li>mesa: Add support for Begin/EndConditionalRender in display lists.</li>
<li>mesa: Throw an error instead of asserting for condrender with query == 0.</li>
<li>mesa: Throw an error when starting conditional render on an active query.</li>
<li>mesa: Don't skip glGetProgramLocalParam4dvARB if there was already an error.</li>
<li>glsl: Allow ir_assignment() constructor to not specify condition.</li>
<li>glsl: Clarify error message about whole-array assignment in GLSL 1.10.</li>
<li>glsl: When assigning to a whole array, mark the array as accessed.</li>
<li>glsl: When assiging from a whole array, mark it as used.</li>
<li>i965/fs: Respect ARB_color_buffer_float clamping.</li>
<li>i965: Add missing _NEW_POLYGON flag to polygon stipple upload.</li>
<li>i965: Fix polygon stipple offset state flagging.</li>
<li>intel: Mark MESA_FORMAT_X8_Z24 as always supported.</li>
<li>mesa: Don't error on glFeedbackBuffer(size = 0, buffer = NULL)</li>
<li>glsl: Fix gl_NormalMatrix swizzle setup to match i965's invariants.</li>
</ul>
 
<p>Henri Verbeet (6):</p>
<ul>
<li>mesa: Also set the remaining draw buffers to GL_NONE when updating just the first buffer in _mesa_drawbuffers().</li>
<li>r600g: Support the PIPE_FORMAT_R16_FLOAT colorformat.</li>
<li>mesa: Check the texture against all units in unbind_texobj_from_texunits().</li>
<li>mesa: Allow sampling from units &gt;= MAX_TEXTURE_UNITS in shaders.</li>
<li>mesa: Use the Elements macro for the sampler index assert in validate_samplers().</li>
<li>mesa: Fix a couple of TexEnv unit limits.</li>
</ul>
 
<p>Ian Romanick (17):</p>
<ul>
<li>mesa: Add utility function to get base format from a GL compressed format</li>
<li>mesa: Return the correct internal fmt when a generic compressed fmt was used</li>
<li>mesa: Make _mesa_get_compressed_formats match the texture compression specs</li>
<li>linker: Make linker_error set LinkStatus to false</li>
<li>linker: Make linker_{error,warning} generally available</li>
<li>mesa: Ensure that gl_shader_program::InfoLog is never NULL</li>
<li>ir_to_mesa: Use Add linker_error instead of fail_link</li>
<li>ir_to_mesa: Emit warnings instead of errors for IR that can't be lowered</li>
<li>i915: Fail without crashing if a Mesa IR program uses too many registers</li>
<li>i915: Only emit program errors when INTEL_DEBUG=wm or INTEL_DEBUG=fallbacks</li>
<li>mesa: Add GL_OES_compressed_paletted_texture formats to _mesa_is_compressed_format</li>
<li>mesa: Add GL_OES_compressed_paletted_texture formats to _mesa_base_tex_format</li>
<li>mesa: Refactor expected texture size check in cpal_get_info</li>
<li>mesa: Add _mesa_cpal_compressed_format_type</li>
<li>mesa: Refactor compressed texture error checks to work with paletted textures</li>
<li>mesa: Remove redundant compressed paletted texture error checks</li>
<li>mesa: Advertise GL_OES_compressed_paletted_texture in OpenGL ES1.x</li>
</ul>
 
<p>Jeremy Huddleston (3):</p>
<ul>
<li>apple: Silence some debug spew</li>
<li>apple: Use the correct (OpenGL.framework) glViewport and glScissor during init</li>
<li>apple: Implement applegl_unbind_context</li>
</ul>
 
<p>José Fonseca (1):</p>
<ul>
<li>docs: Update llvmpipe docs.</li>
</ul>
 
<p>Kenneth Graunke (12):</p>
<ul>
<li>glsl: Avoid massive ralloc_strndup overhead in S-Expression parsing.</li>
<li>mesa: In validate_program(), initialize errMsg for safety.</li>
<li>i965/gen5+: Fix incorrect miptree layout for non-power-of-two cubemaps.</li>
<li>i965: Use proper texture alignment units for cubemaps on Gen5+.</li>
<li>i965: Fix incorrect maximum PS thread count shift on Ivybridge.</li>
<li>i965: Emit depth stalls and flushes before changing depth state on Gen6+.</li>
<li>i965/fs: Allow SIMD16 with control flow on Ivybridge.</li>
<li>i965: Allow SIMD16 color writes on Ivybridge.</li>
<li>i965: Fix inconsistent indentation in brw_eu_emit.c.</li>
<li>intel: Depth format fixes</li>
<li>i965: Apply post-sync non-zero workaround to homebrew workaround.</li>
<li>mesa/get: Move MAX_LIGHTS from GL/ES2 to GL/ES1.</li>
</ul>
 
<p>Kristian Høgsberg (1):</p>
<ul>
<li>glx: Don't flush twice if we fallback to dri2CopySubBuffer</li>
</ul>
 
<p>Marc Pignat (1):</p>
<ul>
<li>drisw: Fix 24bpp software rendering, take 2</li>
</ul>
 
<p>Marcin Baczyński (2):</p>
<ul>
<li>configure: fix gcc version check</li>
<li>configure: allow C{,XX}FLAGS override</li>
</ul>
 
<p>Marcin Slusarz (3):</p>
<ul>
<li>nouveau: fix nouveau_fence leak</li>
<li>nouveau: fix crash during fence emission</li>
<li>nouveau: fix fence hang</li>
</ul>
 
<p>Marek Olšák (19):</p>
<ul>
<li>vbo: do not call _mesa_max_buffer_index in debug builds</li>
<li>winsys/radeon: fix space checking</li>
<li>r300/compiler: fix a warning that a variable may be uninitialized</li>
<li>r300/compiler: remove an unused-but-set variable and simplify the code</li>
<li>u_vbuf_mgr: cleanup original vs real vertex buffer arrays</li>
<li>u_vbuf_mgr: don't take per-instance attribs into acc. when computing max index</li>
<li>u_vbuf_mgr: fix max_index computation for large src_offset</li>
<li>u_vbuf_mgr: s/u_vbuf_mgr_/u_vbuf_</li>
<li>u_vbuf_mgr: remove unused flag U_VBUF_UPLOAD_FLUSHED</li>
<li>u_vbuf_mgr: rework user buffer uploads</li>
<li>u_vbuf_mgr: fix uploading with a non-zero index bias</li>
<li>configure.ac: fix xlib-based softpipe build</li>
<li>r600g: add index_bias to index buffer bounds</li>
<li>r300g: fix rendering with a non-zero index bias in draw_elements_immediate</li>
<li>Revert "r300g: fix rendering with a non-zero index bias in draw_elements_immediate"</li>
<li>pb_bufmgr_cache: flush cache when create_buffer fails and try again</li>
<li>r300g: don't return NULL in resource_from_handle if the resource is too small</li>
<li>r600g: set correct tiling flags in depth info</li>
<li>r300g: don't call u_trim_pipe_prim in r300_swtcl_draw_vbo</li>
</ul>
 
<p>Michel Dänzer (4):</p>
<ul>
<li>st/mesa: Finalize texture on render-to-texture.</li>
<li>glx/dri2: Don't call X server for SwapBuffers when there's no back buffer.</li>
<li>gallium/util: Add macros for converting from little endian to CPU byte order.</li>
<li>r300g: Fix queries on big endian hosts.</li>
</ul>
 
<p>Neil Roberts (1):</p>
<ul>
<li>meta: Fix saving the active program</li>
</ul>
 
<p>Paul Berry (18):</p>
<ul>
<li>glsl: Lower unconditional return statements.</li>
<li>glsl: Refactor logic for determining whether to lower return statements.</li>
<li>glsl: lower unconditional returns and continues in loops.</li>
<li>glsl: Use foreach_list in lower_jumps.cpp</li>
<li>glsl: In lower_jumps.cpp, lower both branches of a conditional.</li>
<li>glsl: Lower break instructions when necessary at the end of a loop.</li>
<li>glsl: improve the accuracy of the radians() builtin function</li>
<li>glsl: improve the accuracy of the atan(x,y) builtin function.</li>
<li>Revert "glsl: Skip processing the first function's body in do_dead_functions()."</li>
<li>glsl: Emit function signatures at toplevel, even for built-ins.</li>
<li>glsl: Constant-fold built-in functions before outputting IR</li>
<li>glsl: Check array size is const before asserting that no IR was generated.</li>
<li>glsl: Perform implicit type conversions on function call out parameters.</li>
<li>glsl: Fix type error when lowering integer divisions</li>
<li>glsl: Rework oversize array check for gl_TexCoord.</li>
<li>glsl: Remove field array_lvalue from ir_variable.</li>
<li>glsl hierarchical visitor: Do not overwrite base_ir for parameter lists.</li>
<li>glsl: improve the accuracy of the asin() builtin function.</li>
</ul>
 
<p>Tobias Droste (1):</p>
<ul>
<li>r300/compiler: simplify code in peephole_add_presub_add</li>
</ul>
 
<p>Tom Fogal (1):</p>
<ul>
<li>Only use gcc visibility support with gcc4+.</li>
</ul>
 
<p>Tom Stellard (1):</p>
<ul>
<li>r300/compiler: Fix regalloc for values with multiple writers</li>
</ul>
 
<p>Vadim Girlin (5):</p>
<ul>
<li>st/mesa: flush bitmap cache on query and conditional render boundaries</li>
<li>r600g: use backend mask for occlusion queries</li>
<li>r600g: take into account force_add_cf in pops</li>
<li>r600g: fix check_and_set_bank_swizzle</li>
<li>r600g: fix replace_gpr_with_pv_ps</li>
</ul>
 
<p>Yuanhan Liu (17):</p>
<ul>
<li>i965: fix the constant interp bitmask for flat mode</li>
<li>mesa: fix error handling for glEvalMesh1/2D</li>
<li>mesa: fix error handling for some glGet* functions</li>
<li>mesa: fix error handling for glTexEnv</li>
<li>mesa: fix error handling for glIsEnabled</li>
<li>mesa: fix error handling for glPixelZoom</li>
<li>mesa: fix error handling for glSelectBuffer</li>
<li>mesa: fix error handling for glMapBufferRange</li>
<li>mesa: fix error handling for glMaterial*</li>
<li>intel: fix the wrong code to detect null texture.</li>
<li>mesa: add a function to do the image data copy stuff for save_CompressedTex(Sub)Image</li>
<li>i965: setup address rounding enable bits</li>
<li>mesa: generate error if pbo offset is not aligned with the size of specified type</li>
<li>mesa: fix inverted pbo test error at _mesa_GetnCompressedTexImageARB</li>
<li>mesa: handle the pbo case for save_Bitmap</li>
<li>mesa: handle PBO access error in display list mode</li>
<li>intel: don't call unmap pbo if pbo is not mapped</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.11.2.html
0,0 → 1,90
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.11.2 Release Notes / November 27, 2011</h1>
 
<p>
Mesa 7.11.2 is a bug fix release which fixes bugs found since the 7.11 release.
</p>
<p>
Mesa 7.11 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
b9e84efee3931c0acbccd1bb5a860554 MesaLib-7.11.2.tar.gz
0837c52698fe3252369c3fdb5195afcc MesaLib-7.11.2.tar.bz2
141273c274d12e0d2bafb497fe937da3 MesaLib-7.11.2.zip
39ae9926794794503815ffdc069521eb MesaGLUT-7.11.2.tar.gz
35ca3a0b54cb6f9d2e0e4eae8f6bb95e MesaGLUT-7.11.2.tar.bz2
f8705fcff2510b6c39cd27b575c05dba MesaGLUT-7.11.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=43143">Bug 43143</a> - Mesa 7.11.1 fails to build at main/dlist.c:4532 with error message: "format not a string literal and no format arguments"</li>
 
<li>Incorrect handling of CopyTexImage from RGBA window to LA texture.</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-7.11.1..mesa-7.11.2
</pre>
 
<p>Brian Paul (4):</p>
<ul>
<li>mesa: stop using ctx-&gt;Driver.CopyTexImage1D/2D() hooks</li>
<li>mesa: fix format selection for meta CopyTexSubImage()</li>
<li>docs: update news.html and relnotes.html for 7.11.1 release</li>
<li>mesa: use format string in _mesa_error() call to silence warning</li>
</ul>
 
<p>Chad Versace (3):</p>
<ul>
<li>intel: Simplify stencil detiling arithmetic</li>
<li>intel: Fix region dimensions for stencil buffers received from DDX</li>
<li>intel: Fix separate stencil in builtin DRI2 backend</li>
</ul>
 
<p>Ian Romanick (3):</p>
<ul>
<li>docs: Add 7.11.1 release md5sums</li>
<li>mesa: set version string to 7.11.2-devel</li>
<li>mesa: Bump version to 7.11.2 (final)</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.11.html
0,0 → 1,353
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.11 Release Notes / July 31, 2011</h1>
 
<p>
Mesa 7.11 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 7.11.1.
</p>
<p>
Mesa 7.11 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
fa2c7068503133fb2453244cda11cb2a MesaLib-7.11.tar.gz
ff03aca82d0560009a076a87c888cf13 MesaLib-7.11.tar.bz2
ede1ac0976f6f05df586093fc17d63ed MesaLib-7.11.zip
b4fb81a47c5caedaefad49af7702c23d MesaGLUT-7.11.tar.gz
77a9a0bbd7f8bca882aa5709b88cb071 MesaGLUT-7.11.tar.bz2
c19ef0c6eb61188c96ed4ccedd70717c MesaGLUT-7.11.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>GL_ARB_ES2_compatibility (gallium drivers)
<li>GL_ARB_color_buffer_float (gallium drivers, i965)
<li>GL_ARB_draw_buffers_blend (gallium)
<li>GL_ARB_draw_instanced extension (gallium drivers, swrast)
<li>GL_ARB_instanced_arrays extension (gallium drivers)
<li>GL_ARB_occlusion_query2 (gallium drivers, swrast)
<li>GL_ARB_robustness (all drivers)
<li>GL_ARB_sampler_objects (gallium drivers)
<li>GL_ARB_seamless_cube_map (gallium r600)
<li>GL_ARB_shader_texture_lod (gallium drivers, i965)
<li>GL_ARB_sync (gallium drivers only, intel support was in 7.6)
<li>GL_ARB_texture_compression_rgtc (gallium drivers, swrast, i965)
<li>GL_ARB_texture_float (gallium, i965)
<li>GL_EXT_packed_float (gallium r600)
<li>GL_EXT_texture_compression_latc (gallium drivers, swrast)
<li>GL_EXT_texture_compression_rgtc (gallium drivers, swrast, i965)
<li>GL_EXT_texture_filter_anisotropic (swrast)
<li>GL_EXT_texture_shared_exponent (gallium drivers, swrast)
<li>GL_EXT_texture_sRGB_decode (gallium drivers, swrast, i965)
<li>GL_EXT_texture_snorm (gallium drivers)
<li>GL_AMD_draw_buffers_blend (alias of the ARB variant)
<li>GL_AMD_seamless_cubemap_per_texture (gallium r600)
<li>GL_AMD_shader_stencil_export (alias of the ARB variant)
<li>GL_ATI_draw_buffers (all drivers)
<li>GL_ATI_texture_compression_3dc (gallium drivers, swrast)
<li>GL_ATI_texture_float (gallium, i965)
<li>GL_NV_conditional_render (i965)
<li>GL_NV_texture_barrier (gallium drivers)
<li>Enable 16-wide fragment shader execution in i965 driver. This should improve performance in many applications.
<li>Initial alpha-level support for Intel "Ivybridge" chipsets in the i965 driver.
</ul>
 
 
<h2>Bug fixes</h2>
 
<p>This list is likely incomplete. This list only includes bug fixes not
included in the previous release (7.10.3). Many of these are regressions that
did not exist in the 7.10 release series at all.</p>
 
<ul>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25871">Bug 25871</a> - nearest neighbour samples wrong texel (precision/rounding problem)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29162">Bug 29162</a> - mesa/darwin is severly broken</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30080">Bug 30080</a> - [i915] piglit nodepth-test fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30217">Bug 30217</a> - Possible sources of memory leaks reported by valgrind</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30266">Bug 30266</a> - Regression, segfault in libdrm_intel when calling glBitmap</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31561">Bug 31561</a> - [i915] intel_regions.c:289: intel_region_release: Assertion `region-&gt;map_refcount == 0' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31744">Bug 31744</a> - [GLSL] overriding built-in function impacts another shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32308">Bug 32308</a> - [llvmpipe] src/gallium/auxiliary/gallivm/lp_bld_init.c:319:gallivm_register_garbage_collector_callback: Assertion `NumCallbacks &lt; 32' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32309">Bug 32309</a> - [softpipe] SIGSEGV sp_state_derived.c:204</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32459">Bug 32459</a> - [softpipe] glean depthStencil regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32460">Bug 32460</a> - [softpipe] piglit texwrap 1D regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32534">Bug 32534</a> - [arrandale/sandybridge] Mesa swallowing GEM ioctl failures</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32560">Bug 32560</a> - To fix: 64-bit-portabilty-issue state_tracker/st_program.c:427</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32634">Bug 32634</a> - [r300g, bisected] Massive corruption in Unigine Sanctuary</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32768">Bug 32768</a> - VBO rendering using glDrawArrays causes program termination and "cs IB too big" message</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32804">Bug 32804</a> - [swrast] glean pixelFormats regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32814">Bug 32814</a> - Build error in osmesa.c due to change in _mesa_update_framebuffer_visual() signature</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32859">Bug 32859</a> - Mesa doesn't compile under NetBSD</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32912">Bug 32912</a> - [bisected, r300g] Unigine Sanctuary: r300_emit.c:902:r300_emit_vertex_arrays: Assertion `&amp;buf-&gt;b.b' failed with RADEON_HYPERZ=1</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32945">Bug 32945</a> - [RADEON:KMS:R300G] HiZ: Weird behavior with 3 pipes</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33046">Bug 33046</a> - [bisected]glean/pixelFormats and 3 oglc cases segfault</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33185">Bug 33185</a> - [RADEON:KMS:R300G] X crashes when kwin effects are turned on</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33215">Bug 33215</a> - [llvmpipe] piglit fbo-drawbuffers2-blend regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33247">Bug 33247</a> - [swrast] tnl/t_draw.c:471: _tnl_draw_prims: Assertion `prim[i].num_instances &gt; 0' failed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33284">Bug 33284</a> - [llvmpipe] piglit fbo-drawbuffers-fragcolor fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33306">Bug 33306</a> - [glsl] GLSL integer division by zero crashes GLSL compiler</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33353">Bug 33353</a> - [softpipe] piglit fbo-srgb looks incorrect</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33360">Bug 33360</a> - inclusion of $(TALLOC_LIBS) in src/mesa/drivers/osmesa/Makefile causes a build failure</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33374">Bug 33374</a> - [bisect] FTBFS on commit 9767d3b5 (glapi: Fix OpenGL ES 1.1 and 2.0 interop)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33508">Bug 33508</a> - [glsl] GLSL compiler modulus by zero crash</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33555">Bug 33555</a> - [softpipe] tgsi/tgsi_sse2.c:1527:emit_tex: Assertion `0' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33885">Bug 33885</a> - [glsl] GLSL compiler allows recursion</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33823">Bug 33823</a> - [glsl] ralloc.c:78: get_header: Assertion `info-&gt;canary == 0x5A1106' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33934">Bug 33934</a> - 3D blitting is orders of magnitude slower than equivalent 2D blitting.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33946">Bug 33946</a> - Crash: Mesa checks for invalid pointer, then uses it anyway.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34008">Bug 34008</a> - r600g: piglit failure (regression)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34009">Bug 34009</a> - Automatic Mipmap Generation produces very blurry image.</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34042">Bug 34042</a> - Surfaceless eglMakeCurrent() fails if the supplied EGLContext is not a dummy context</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34049">Bug 34049</a> - r600g: assertion failure (regression)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34119">Bug 34119</a> - [glsl] piglit glsl-texcoord-array regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34323">Bug 34323</a> - [i915 GLSL gles2] gl_FragCoord.w not correct</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34346">Bug 34346</a> - src/glsl relies on $PWD which can be unset</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34378">Bug 34378</a> - st/mesa: 2a904fd6a0cb80eec6dec2bae07fd8778b04caf3 breaks sauerbraten</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34419">Bug 34419</a> - Kwin crashes screensaver exits</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34463">Bug 34463</a> - state_tracker/st_texture.c:370:st_texture_image_copy: Assertion `u_minify(src-&gt;width0, srcLevel) == width' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34468">Bug 34468</a> - src/glsl/Makefile fix</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34541">Bug 34541</a> - [ilk, wine] massive render corruption after recent patchset</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34589">Bug 34589</a> - [pineview bisected]many cases regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34595">Bug 34595</a> - [bisected piketon]oglc half_float_vertex(misc.fillmode.wireframe) regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34597">Bug 34597</a> - [bisected piketon]oglc blend-constcolor and 7 draw-buffers2 subcases regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34603">Bug 34603</a> - [bisected piketon]oglc vbo subcase basic.bufferdata regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34604">Bug 34604</a> - [bisected piketon]piglit fbo/fbo-depth-sample-compare regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34646">Bug 34646</a> - [bisected piketon]ogles2conform GL2Tests/GL/gl_FragCoord/gl_FragCoord_w_frag.test</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34656">Bug 34656</a> - i965: Crash when running WebGL Conformance Test in firefox-4 nightly build</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34691">Bug 34691</a> - [GLSL] matrix array member assignment with a complex subscript fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34906">Bug 34906</a> - [Pineview] Some WebGL conformance tests will crash firefox</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34968">Bug 34968</a> - Bad fps in Lightsmark benchmark</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35025">Bug 35025</a> - [Patch] Serious compiler warnings</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35312">Bug 35312</a> - r600g: Automatic mipmap generation doesn't work properly</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35373">Bug 35373</a> - [[GM45] OpenGL] GL_EXT_texture_sRGB_decode broken</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35434">Bug 35434</a> - [RADEON:KMS:R600G] etqw: broken ground textures</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35441">Bug 35441</a> - [PATCH] Mesa does not find nouveau include files with --enable-shared-dricore</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35614">Bug 35614</a> - [SNB] random hang on piglit case shaders/glsl-max-varyings</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35820">Bug 35820</a> - [bisected SNB] System hangs when Gnome with compiz start up</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35822">Bug 35822</a> - [bisected pineview] many cases related to depth and stencil failed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35849">Bug 35849</a> - when sampling textures from both fragment and vertex shaders the vertex texture has the incorrect texture bound</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35852">Bug 35852</a> - [bisected pineview] oglc case pxconv-read failed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35961">Bug 35961</a> - src/gallium/auxiliary/util/u_draw.c:77:util_draw_max_index: Assertion `buffer_size - format_size &lt;= buffer_size' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36032">Bug 36032</a> - piglit fdo9833 regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36033">Bug 36033</a> - main/shaderapi.c:1044: validate_samplers: Assertion `(sizeof(targetName)/sizeof(*(targetName))) == NUM_TEXTURE_TARGETS' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36086">Bug 36086</a> - [wine] Segfault r300_resource_copy_region with some wine apps and RADEON_HYPERZ</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36182">Bug 36182</a> - Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36268">Bug 36268</a> - [r300g, bisected] minor flickering in Unigine Sanctuary</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36282">Bug 36282</a> - 34a5d3b9f4740601708c82093e2114356d749e65: glxgears segfaults when compiled with shared glapi</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36333">Bug 36333</a> - can't build demos if mesa build with --enable-selinux</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36473">Bug 36473</a> - [bisected] piglit bugs/fdo23670-depth_test failed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36572">Bug 36572</a> - [bisected]oglc case texenv segfaults</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36609">Bug 36609</a> - 45920d2ecb38b14fdda5253fecce996570c22863 breaks sauerbraten on r300g</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36648">Bug 36648</a> - [bisected SNB]piglit fbo/fbo-alphatest-nocolor failed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36649">Bug 36649</a> - [bisected SNB]oglc draw-buffers2 failed with 16-wide</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36753">Bug 36753</a> - Some textures now rendered as completely black after register allocator rewrite.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36821">Bug 36821</a> - [bisected SNB]oglc api-texcoord causes GPU hang</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36914">Bug 36914</a> - r600g: add rv670 flushing workaround. Causes games and some mesa demos to segfault.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36917">Bug 36917</a> - Rendering glitches in ETQW</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36939">Bug 36939</a> - multitexturing is messed up in quake wars (regression)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36987">Bug 36987</a> - Intel GMA 4500 ARB_shader_texture_lod support</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37028">Bug 37028</a> - Amnesia/HPL2 Demo: Strange graphical bugs on r600g</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37150">Bug 37150</a> - sRGB textures are too bright in Starcraft 2</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37154">Bug 37154</a> - main/texstore.c:4187: _mesa_texstore_rgb9_e5: Assertion `baseInternalFormat == 0x1907' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37157">Bug 37157</a> - [bisected] KDE KWin crashes on start with delayed BO mapping</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37168">Bug 37168</a> - Regression: Severe memory leak when running Second Life</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37366">Bug 37366</a> - [i965 bisected ILK] Fragment shader discard tests occasionally fail</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37383">Bug 37383</a> - incorrect GLSL optimization</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37476">Bug 37476</a> - [wine] Devil May Cry 4: TXD tgsi opcode unsupported / translation from TGSI failed / missing vertex shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37743">Bug 37743</a> - [bisected i965]oglc GLSLlinker subcase negative.varying.beyondMaxVaryingFloats aborted</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37766">Bug 37766</a> - Crash in dri2InvalidateBuffers when resizing Java window with OpenGL pipeline enabled</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37839">Bug 37839</a> - main/teximage.c:2393: _mesa_choose_texture_format: Assertion `f != MESA_FORMAT_NONE' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37934">Bug 37934</a> - Corruption with topogun trace</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38015">Bug 38015</a> - Some extensions enabled even when not supported by the underlying driver</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38134">Bug 38134</a> - [bisected i965]piglit fbo/fbo-blit-d24s8 crashed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38145">Bug 38145</a> - r600g/evergreen: Incorrect rendering of some effects in doom3</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38440">Bug 38440</a> - ETQW: Model in team select rendering too bright</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38566">Bug 38566</a> - [regression] ETQW crashes with 21972c85ea734dbfcf69629c6b0b940efb42d4ba</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38584">Bug 38584</a> - MESA_GLSL=dump causes SEGV in ir_print_visitor::unique_name</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38599">Bug 38599</a> - THe value of WGL_PBUFFER_HEIGHT_ARB is returned as width in wglQueryPbufferARB</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38602">Bug 38602</a> - [bisected] Wrong display after "prefer native texture formats when possible" commit</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38624">Bug 38624</a> - program/ir_to_mesa.cpp:1440: virtual void ir_to_mesa_visitor::visit(ir_dereference_variable*): Assertion `var-&gt;location != -1' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38626">Bug 38626</a> - vbo: Don't discount stride breaks piglit on softpipe/r600g</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38649">Bug 38649</a> - piglit fbo-copyteximage regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38762">Bug 38762</a> - [IVB bisected]3D demos like glxgears abort</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38771">Bug 38771</a> - [[GM45] DRI] GPU hangs with current Mesa GIT when running certain OpenGL applications</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38842">Bug 38842</a> - Various valid GLX attributes are rejected by MESA glxChooseFBConfig</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38971">Bug 38971</a> - [bisected]oglc glsl-autointconv subcase negative.function.ambiguousMatch failed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38987">Bug 38987</a> - sampler allowed as non-uniform / non-function parameters</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39024">Bug 39024</a> - [Pineview webgl] many webgl conformance cases crash the browser</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39083">Bug 39083</a> - [regression, bisected, r600g] Wrong rendering of Bubbles3D screensaver</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39119">Bug 39119</a> - setting SQ_LDS_RESOURCE_MGMT register to zero in other applications muddles up font rendering permanently</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39209">Bug 39209</a> - [bisected] Wrong display after "prefer native texture formats when possible" commit - part2</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39219">Bug 39219</a> - libgl conflict with xbmc causes lock up on xbmc exit</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39257">Bug 39257</a> - [bisected SNB]Mesa demos engine causes GPU hang</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39487">Bug 39487</a> - [i965] brw_wm_surface_state.c:495: brw_update_renderbuffer_surface: Assertion `brw-&gt;has_surface_tile_offset || (tile_x == 0 &amp;&amp; tile_y == 0)' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39515">Bug 39515</a> - FTBFS: libEGL depends on libgbm, but libEGL builds first</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39572">Bug 39572</a> - Cogs: GPU hang</li>
 
</ul>
 
 
<h2>Changes</h2>
<ul>
<li>The Windows MSVC project files have been removed.
They haven't been maintained in quite a while.
Building with SCons is an alternative.
<li>Removed GL_SGI_texture_color_table support from swrast driver - the only
driver that implemented it.
</ul>
 
<p>The full set of changes can be viewed by using the following GIT command:</p>
 
<pre>
git log mesa-7.10..mesa-7.11
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.2.html
0,0 → 1,111
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.2 Release Notes / 20 September 2008</h1>
 
<p>
Mesa 7.2 is a stable release fixing bugs found in 7.1, which was a
new development release.
</p>
<p>
Mesa 7.2 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
Note that this version of Mesa does not use the GEM memory manager.
The master branch of git uses GEM.
The prototype DRI2 code that was in 7.1 has also been removed.
</p>
<p>
DRM version 2.3.1 should be used with Mesa 7.2
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
81a2a4b7cbfce7553f7ad8d924edbe2f MesaLib-7.2.tar.gz
04d379292e023df0b0266825cb0dbde5 MesaLib-7.2.tar.bz2
8bc497a37977a55e987a4d1fabc3d882 MesaLib-7.2.zip
10c762e39486df395838af1d7b57e69c MesaDemos-7.2.tar.gz
22e03dc4038cd63f32c21eb60994892b MesaDemos-7.2.tar.bz2
1197bc4eb3bf44e291c14d4eb2e19381 MesaDemos-7.2.zip
42e3c6c6d156cd9dc545dbef72407354 MesaGLUT-7.2.tar.gz
f67daf93e12c4a459703bbf3e4004e31 MesaGLUT-7.2.tar.bz2
0390567eb2c2d12fbf82e8523fd77e2b MesaGLUT-7.2.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>i965 driver: added support for G41 chipset (Intel)
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed display list bug involving primitives split across lists (bug 17564)
<li>Fixed some issues with glBindAttribLocation()
<li>Fixed crash in _tnl_InvalidateState() found with Amira (bug 15834)
<li>Assorted bug fixes for Ming build
<li>Fixed some vertex/pixel buffer object reference counting bugs
<li>Fixed depth/stencil bug in i915/945 driver
<li>Fixed some shader flow control bugs in i965 driver
<li>Fixed a few tdfx driver bugs which prevented driver from working
<li>Fixed multisample enable/disable bug
</ul>
 
<h2>Changes</h2>
<ul>
<li>Updated SGI header files with new license terms.
</ul>
 
 
 
<h2>To Do (someday) items</h2>
<ul>
<li>Remove the MEMCPY() and _mesa_memcpy() wrappers and just use memcpy().
Probably do the same for malloc, calloc, etc.
The wrappers were useful in the past for memory debugging but now we
have valgrind. Not worried about SunOS 4 support anymore either...
<li>Switch to freeglut
<li>Fix linux-glide target/driver.
<li>Improved lambda and derivative calculation for frag progs.
</ul>
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.3.html
0,0 → 1,100
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.3 Release Notes / 22 January 2009</h1>
 
<p>
Mesa 7.3 is a new development release.
Users especially concerned with stability should stick with latest
stable release: version 7.2.
</p>
<p>
Mesa 7.3 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
8ed03191432b22d118d88d6db497f304 MesaLib-7.3.tar.gz
781e7811a6ed5c97b2b8defefc8ffbc9 MesaLib-7.3.tar.bz2
3ccba9a1734ed6d4b3389e1535d90fbf MesaLib-7.3.zip
d312e974b31043b13b61bac5fbf00b87 MesaDemos-7.3.tar.gz
3f0741394069bdf2329565a387396cda MesaDemos-7.3.tar.bz2
4d0887fd4c66a824295cdd619f6d34cb MesaDemos-7.3.zip
2d7661b66022bcb8878728f3d5bd33ab MesaGLUT-7.3.tar.gz
abe8036a724c1a483bdad6b5a55ddc1a MesaGLUT-7.3.tar.bz2
5f247819b47e2a7c62d07a6afe5262fb MesaGLUT-7.3.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>Support for GLSL 1.20
<li>Intel DRI drivers now use GEM and DRI2
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Assorted GLSL bug fixes
<li>Assorted i965 driver fixes
<li>Fix for wglCreateLayerContext() in WGL/Windows driver
<li>Build fixes for OpenBSD and gcc 2.95
<li>GLSL preprocessor handles #pragma now
<li>Fix incorrect transformation of GL_SPOT_DIRECTION
<li>Fixed several bugs (#18367 and #19625) in glXMakeContextCurrent()
<li>Assorted Windows build fixes
</ul>
 
<h2>Changes</h2>
<ul>
<li>Deprecated the "XMesa" interface (include/GL/xmesa*.h files)
<li>Deprecated the "FXMesa" interface (include/GL/fxmesa.h file)
<li>Deprecated the "Allegro" interface (include/GL/amesa.h file)
<li>Removed include/GL/uglmesa.h header
<li>Removed include/GLView.h header for BeOS
</ul>
 
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.4.1.html
0,0 → 1,86
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.4.1 Release Notes / 18 April 2009</h1>
 
<p>
Mesa 7.4.1 is a stable development release fixing bugs since the 7.4 release.
</p>
<p>
Mesa 7.4.1 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
0c3a72f3295a53a134c04bd7d209ea62 MesaLib-7.4.1.tar.gz
423260578b653818ba66c2fcbde6d7ad MesaLib-7.4.1.tar.bz2
84f78b154d4bd5c3ecc42eeff2e56676 MesaLib-7.4.1.zip
aa0ad323e59d6d10ff33ac0dde462a60 MesaDemos-7.4.1.tar.gz
1e169fb6abc2b45613f1c98a82dfe690 MesaDemos-7.4.1.tar.bz2
294e42be2d74176596c994ec23322fcf MesaDemos-7.4.1.zip
92373bfa48e7b68dddf356e86b0e5699 MesaGLUT-7.4.1.tar.gz
336f3824b578b072211e0beecf4f04f4 MesaGLUT-7.4.1.tar.bz2
20751388d8ef16b42d25d9e3d705d101 MesaGLUT-7.4.1.zip
</pre>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed a two-sided lighting bug in fixed-function-to-GPU code generation
<li>Fixed some Darwin issues (Jeremy Huddleston)
<li>Indexing the GLSL gl_EyePlane[] or gl_ObjectPlane[] arrays with a variable
was broken, bug 20986
<li>Fixed incorrect texture unit bias in TXB instruction
<li>glTexParameter settings weren't always propogated to drivers
<li>Assorted vertex/fragment program bug fixes
<li>Fixed point rendering in software rasterizer
<li>Fixed potential deadlock in object hash functions
<li>Fix a couple bugs surrounding front-buffer rendering with DRI2, but this
is not quite complete.
<li>Fixed glPopAttrib() bug when restoring user clip planes
</ul>
 
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.4.2.html
0,0 → 1,81
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.4.2 Release Notes / May 15, 2009</h1>
 
<p>
Mesa 7.4.2 is a stable development release fixing bugs since the 7.4.1 release.
</p>
<p>
Mesa 7.4.2 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
172f5193154dad731387f97bd44ab68f MesaLib-7.4.2.tar.gz
b10a76e32bde4645cfc34ea0416d7d8b MesaLib-7.4.2.tar.bz2
cc6dfc2efd424cc342b84e6bcd78ce5d MesaLib-7.4.2.zip
182a7e78aa7a480b3650a5c956dbddd1 MesaDemos-7.4.2.tar.gz
bf559a0485667a3bfa4513a23501579b MesaDemos-7.4.2.tar.bz2
5379e622b65e8c22022dba34aeb6f4f9 MesaDemos-7.4.2.zip
7cc43c1c35bf6a279a16e063dea3b8c5 MesaGLUT-7.4.2.tar.gz
e0dfc44d537904a030861e5b3c760c11 MesaGLUT-7.4.2.tar.bz2
4a6cf5bbbac190d6ba97448b3098b7f4 MesaGLUT-7.4.2.zip
</pre>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed segfault when rendering to front buffer with DRI 1.
<li>Fixed swrast texture rectangle bug when wrap mode = GL_CLAMP_TO_BORDER and
filter mode = GL_LINEAR. (bug 21461)
<li>Fixed texture object mem leak during context destruction.
<li>Fixed a state validation bug in glCopyTex[Sub]Image()
<li>Fixed some i965 GLSL bugs.
<li>Fixed an R300 driver texture object bad memory reference.
</ul>
 
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.4.3.html
0,0 → 1,86
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.4.3 Release Notes / 19 June 2009</h1>
 
<p>
Mesa 7.4.3 is a stable development release fixing bugs since the 7.4.2 release.
</p>
<p>
Mesa 7.4.3 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
34c5a6c47ed51f31c4fa36e269831352 MesaLib-7.4.3.tar.gz
70a983ba3deaa8bd63b18bbab283f698 MesaLib-7.4.3.tar.bz2
34f21b3205b271d575030aa98a2dda51 MesaLib-7.4.3.zip
56752b7adede212e6097afb10d0c0d59 MesaDemos-7.4.3.tar.gz
8ffa51c4833b1e298300a005e2d7ca2a MesaDemos-7.4.3.tar.bz2
0037d24d41400d6fb9800ae55b8c863f MesaDemos-7.4.3.zip
20e24f6692c0c90e7e3b220f79c4108d MesaGLUT-7.4.3.tar.gz
03a4beeef74fc5ef0b1d6d04710e5a8a MesaGLUT-7.4.3.tar.bz2
273788230adbdb9d57371309adedcf5f MesaGLUT-7.4.3.zip
</pre>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed texture object reference counting bug (bug 21756)
<li>Allow depth/stencil textures to be attached to GL_STENCIL_ATTACHMENT point
(SF bug 2793846)
<li>Added missing glGet case for GL_VERTEX_ARRAY_BINDING_APPLE
<li>Fixed some OSMesa build issues
<li>Fixed a vertex buffer object crash
<li>Fixed broken glTexImage3D() when image type = GL_BITMAP
<li>Fixed some GLSL preprocessor bugs
<li>Fixed framebuffer mem leak in i945/i965 DRI drivers
<li>Fixed texture coordinate repeat bug in swrast (bug 21872)
<li>Fixed incorrect viewport clamping (lower bound is zero, not one)
<li>GLX fix for glean's makeCurrent test case
</ul>
 
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.4.4.html
0,0 → 1,75
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.4.4 Release Notes / 23 June 2009</h1>
 
<p>
Mesa 7.4.4 is a stable development release fixing bugs since the 7.4.3 release.
</p>
<p>
Mesa 7.4.4 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
0b56fe5a88ab0c3c5b2da5068f63f416 MesaLib-7.4.4.tar.gz
b66528d314c574dccbe0ed963cac5e93 MesaLib-7.4.4.tar.bz2
2818076f3ba23fa87fdfe4602a637a18 MesaLib-7.4.4.zip
3e77b208386c47b18165bce5ae317e2c MesaDemos-7.4.4.tar.gz
628142ec9a54cd28cc027e6ce26cff47 MesaDemos-7.4.4.tar.bz2
d08a30d30ab7174859aa709cba6c726d MesaDemos-7.4.4.zip
e6e91ba16e274d40cf3a97ad3218af01 MesaGLUT-7.4.4.tar.gz
e14bbb52517e8121b31f1387515365ab MesaGLUT-7.4.4.tar.bz2
f10ed20469753c2b3d68c99854f80fd4 MesaGLUT-7.4.4.zip
</pre>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed i965/i915 segfault in screen destruction (bug 22408)
</ul>
 
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.4.html
0,0 → 1,96
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.4 Release Notes / 27 March 2009</h1>
 
<p>
Mesa 7.4 is a stable development release fixing bugs since the 7.3 release.
</p>
<p>
Mesa 7.4 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
ed6bd7437177307e51e16d0c7c381dfa MesaLib-7.4.tar.gz
7ecddb341a2691e0dfdb02f697109834 MesaLib-7.4.tar.bz2
433e823f8245f9fd5f397e7b719a8e47 MesaLib-7.4.zip
656eee6128016fb237e01aa8dabbc703 MesaDemos-7.4.tar.gz
02816f10f30b1dc5e069e0f68c177c98 MesaDemos-7.4.tar.bz2
44a70d6db4aa4c64ecc47871b6aceee8 MesaDemos-7.4.zip
25f80db4f8645cd3e58e2c9af53ec341 MesaGLUT-7.4.tar.gz
04ec01caebde44f5b0d619f00716b368 MesaGLUT-7.4.tar.bz2
019dc213baecaa3cb1278847d41b8591 MesaGLUT-7.4.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>Added MESA_GLX_FORCE_DIRECT env var for Xlib/software driver
<li>GLSL version 1.20 is returnd by the GL_SHADING_LANGUAGE_VERSION query
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>glGetActiveUniform() returned wrong size for some array types
<li>Fixed some error checking in glUniform()
<li>Fixed a potential glTexImage('proxy target') segfault
<li>Fixed bad reference counting for 1D/2D texture arrays
<li>Fixed VBO + glPush/PopClientAttrib() bug #19835
<li>Assorted i965 driver bug fixes
<li>Fixed a Windows compilation failure in s_triangle.c
<li>Fixed a GLSL array indexing bug
<li>Fixes for building on Haiku
</ul>
 
<h2>Changes</h2>
<ul>
<li>Updated GL/glxext.h to version 48
<li>Assorted updates for building on Solaris
</ul>
 
 
 
<h2>Driver Status</h2>
 
<pre>
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
</pre>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.5.1.html
0,0 → 1,77
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.5.1 Release Notes, 3 September 2009</h1>
 
<p>
Mesa 7.5.1 is a bug-fix release fixing issues found since the 7.5 release.
</p>
<p>
The main new feature of Mesa 7.5.x is the
<a href="http://wiki.freedesktop.org/wiki/Software/gallium">Gallium3D</a> infrastructure.
</p>
<p>
Mesa 7.5.1 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
d7269e93bc7484430637d54ced250876 MesaLib-7.5.1.tar.gz
877d6a4b24efc2b1d02aa553f262cba8 MesaLib-7.5.1.tar.bz2
23f4fb757a05c8396425681234ae20e5 MesaLib-7.5.1.zip
5af4bd113652108f5cec5113dad813f2 MesaDemos-7.5.1.tar.gz
785402e3b9f0e335538fcc6bf19f6987 MesaDemos-7.5.1.tar.bz2
950058cc6d6106e9c7d5876a03789fe9 MesaDemos-7.5.1.zip
cb52ce2c93389c2711cbe8d857ec5303 MesaGLUT-7.5.1.tar.gz
e3a9892e056d625c5353617a7c5b7e9c MesaGLUT-7.5.1.tar.bz2
da1de364df148c94b4994006191a1e69 MesaGLUT-7.5.1.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>Added configure --with-max-width=W, --with-max-height=H options to specify
max framebuffer, viewport size.
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Added missing GLEW library to MesaDemos tarballs.
<li>Fixed swapbuffers jerkiness in Doom3/etc in Intel drivers.
<li>Fixed front buffer rendering bug in Intel drivers.
<li>Fixed minor GLX memory leaks.
<li>Fixed some texture env / fragment program state bugs.
<li>Fixed some Gallium glBlitFramebuffer() bugs
<li>Empty glBegin/glEnd() pair could cause divide by zero (bug 23489)
<li>Fixed Gallium glBitmap() Z position bug
<li>Setting arrays of sampler uniforms did not work
<li>Selection/Feedback mode didn't handle polygon culling correctly (bug 16866)
<li>Fixed 32/64-bit cross compilation issue in gen_matypes.c
<li>Fixed glXCreateGLXPixmap() for direct rendering.
<li>Fixed Gallium glCopyPixels(GL_STENCIL_INDEX) mispositioned image bug.
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.5.2.html
0,0 → 1,73
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.5.2 Release Notes, 28 September 2009</h1>
 
<p>
Mesa 7.5.2 is a bug-fix release fixing issues found since the 7.5.1 release.
</p>
<p>
The main new feature of Mesa 7.5.x is the
<a href="http://wiki.freedesktop.org/wiki/Software/gallium">Gallium3D</a> infrastructure.
</p>
<p>
Mesa 7.5.2 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
43a90191dd9f76cd65dcc1ac91f3be70 MesaLib-7.5.2.tar.gz
94e47a499f1226803869c2e37a6a8e3a MesaLib-7.5.2.tar.bz2
1ecb822b567ad67a0617361d45206b67 MesaLib-7.5.2.zip
2718fdce7e075911d6147beb8f27104b MesaDemos-7.5.2.tar.gz
4e0f5ccd58afe21eddcd94327d926e86 MesaDemos-7.5.2.tar.bz2
f621f8c223b278d7c8e49a012d56ca25 MesaDemos-7.5.2.zip
83c16c1d6bcfcc3f97aab5d2fe430b4c MesaGLUT-7.5.2.tar.gz
e5d03bedae369ea3705783573bb33813 MesaGLUT-7.5.2.tar.bz2
e82ba28e00d653e6f437d32be8ca8481 MesaGLUT-7.5.2.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>Detect B43 chipset in Intel driver
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Assorted bug fixes for i965/i945 drivers
<li>Fixed Gallium glDrawPixels(GL_STENCIL_INDEX) failure.
<li>Fixed GLSL linker/preprocessor version directive issue seen in Wine
(such as bug 23946)
<li>glUseProgram() is now compiled into display lists (bug 23746).
<li>glUniform functions are now compiled into display lists
<li>Auto mipmap generation didn't work reliably with Gallium.
<li>Fixed random number usage in GLX code.
<li>Fixed invalid GL_OUT_OF_MEMORY error sometimes raised by glTexSubImage2D
when using Gallium.
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.5.html
0,0 → 1,108
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.5 Release Notes / 17 July 2009</h1>
 
<p>
Mesa 7.5 is a new development release.
People who are concerned with stability and reliability should stick
with the 7.4.x branch or wait for Mesa 7.5.1.
</p>
<p>
The main new feature of Mesa 7.5 is the
<a href="http://wiki.freedesktop.org/wiki/Software/gallium">Gallium3D</a> infrastructure.
</p>
<p>
Mesa 7.5 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
<p>
Note that the Mesa project is no longer using odd/even version numbers
to indicate development/stable releases.
The so-called development releases have been fairly stable.
If you're especially concerned with stability you should probably look for
"point" releases such as 7.5.1 which will be a bug-fix release.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
553fd956e544727f30fbe249619b6286 MesaLib-7.5.tar.gz
459f332551f6ebb86f384d21dd15e1f0 MesaLib-7.5.tar.bz2
8c02c0e17a9025250d20424ae32f5163 MesaLib-7.5.zip
a188da2886fa5496ea0c2cda602b2eeb MesaDemos-7.5.tar.gz
398ee8801814a00e47f6c2314e3dfddc MesaDemos-7.5.tar.bz2
15a0c8ae013c54335a26335e1a98d609 MesaDemos-7.5.zip
81010147def5a644ba14f9bbb7a49a2a MesaGLUT-7.5.tar.gz
baa7a1e850b6e39bae58868fd0684004 MesaGLUT-7.5.tar.bz2
265228418e4423fa328f2f5b7970cf08 MesaGLUT-7.5.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>Gallium3D - this is the new architecture for OS-independent and
API-independent 3D drivers.
Gallium3D is intended for GPUs that fully support vertex/fragment shaders.
The Gallium3D drivers currently included are:
<ul>
<li>softpipe - a software/reference driver
<li>i915 - Intel 915/945 driver
<li>Cell - IBM/Sony/Toshiba Cell processor driver
<li>nouveau (for NVIDIA GPUs) and R300 for (AMD/ATI R300).
<b>PLEASE NOTE: these drivers are incomplete and still under development.
It's probably NOT worthwhile to report any bugs unless you have patches.
</b>
</ul>
<li>GL_ARB_framebuffer_object extension (software drivers, i965 driver)
<li>Reworked two-sided stencil support.
This allows a driver to support all three variations of two-sided stencil
including GL_ATI_separate_stencil, GL_EXT_stencil_two_side and OpenGL 2.0
<li>GL_EXT_vertex_array_bgra extension (software drivers, i965 driver)
<li>GL_NV_texture_env_combine4 extension (software drivers, i965/i915 drivers)
<li>GL_EXT_texture_swizzle extension (software drivers, i965 driver)
<li>Updated SPARC assembly optimizations (David S. Miller)
<li>Initial support for separate compilation units in GLSL compiler.
<li>Increased max number of generic GLSL varying variables to 16 (formerly 8).
<li>GLSL linker now detects when too many varying variables are used.
<li>Optimize-out redundant glMaterial and glShadeModel calls in display lists
<li>Fixed gl_TextureMatrix[i][j] array indexing bug in GLSL compiler.
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Lots of i965 driver bug fixes
<li>Fixed some GLSL preprocessor bugs
<li>GLSL: continue inside of a for-loop didn't work
</ul>
 
 
<h2>Changes</h2>
<ul>
<li>Remove support for GL_SGIX_shadow, GL_SGIX_shadow_ambient and
GL_SGIX_depth_texture extensions. Superseded by the ARB versions.
<li>Omitted some old Mesa demos from the release tarballs, added some others.
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.6.1.html
0,0 → 1,86
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.6.1 Release Notes, 21 December 2009</h1>
 
<p>
Mesa 7.6.1 is a bug-fix release fixing issues since version 7.6.
</p>
<p>
Mesa 7.6.1 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
e80fabad2e3eb7990adae773d6aeacba MesaLib-7.6.1.tar.gz
7db4617e9e10ad3aca1b64339fd71b7d MesaLib-7.6.1.tar.bz2
dd3275dbf9833480d2e92d0c69b22abd MesaLib-7.6.1.zip
f7fdcfe3c0f363e571c60f02f74368fb MesaDemos-7.6.1.tar.gz
a4226f06732a02556fcf6be290b86dff MesaDemos-7.6.1.tar.bz2
849425f356bd940726cebedfa79de176 MesaDemos-7.6.1.zip
d40cc7c5e337a85b674e27a8e494f52f MesaGLUT-7.6.1.tar.gz
ca9aecb91f05b1da9fd7d5eeb19d47d7 MesaGLUT-7.6.1.tar.bz2
23fad8398004c977a1d8953079b72ca6 MesaGLUT-7.6.1.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>Upgraded GL/glext.h to version 56, GL/glxext.h to version 25,
GL/wglext.h to version 17
<li>New 3D driver, r600, for Radeon R6xx, R7xx hardware
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed crash caused by glXCopyContext() and glXDestroyContext(), bug 24217
<li>glXQueryContext(GLX_RENDER_TYPE) returned wrong values (bug 24211)
<li>GLSL sqrt(0) returned unpredictable results
<li>Fixed default texture binding bug when a bound texture was deleted.
<li>r300: Work around an issue with very large fragment programs on R500.
<li>Fake glXQueryDrawable() didn't return good values (bug 24320)
<li>Fixed AUX buffer breakage (bug 24426).
<li>Fixed locale-dependent float parsing bug in GLSL compiler (bug 24531)
<li>Fixed Gallium Cell driver compilation failure.
<li>Fixed glGetTexLevelParameter(GL_TEXTURE_INTERNAL_FORMAT) query so that
it returns the actual compressed format chosen.
<li>Fixed glBitmap bugs in Intel drivers.
<li>Fixed a number of Microsoft Visual Studio compilation problems.
<li>Fixed clipping / provoking vertex bugs in i965 driver.
<li>Assorted build fixes for AIX.
<li>Endianness fixes for the DRI swrast driver (bug 22767).</li>
<li>Point sprite fixes for i915/945 driver.
<li>Fixed assorted memory leaks (usually on error paths)
<li>Fixed some GLSL compiler bugs (ex: 25579)
<li>Assorted build fixes for BlueGene
</ul>
 
<h2>Changes</h2>
<ul>
<li>Removed old VC6, VC7 project files for Windows
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.6.html
0,0 → 1,91
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.6 Release Notes, 28 September 2009</h1>
 
<p>
Mesa 7.6 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 7.6.1.
</p>
<p>
Mesa 7.6 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
5ffa7d7abf8973f57a1bc4f813e6dade MesaLib-7.6.tar.gz
8c75f90cd0303cfac9e4b6d54f6759ca MesaLib-7.6.tar.bz2
27fcfd69708599c978cb34ba5cd363e1 MesaLib-7.6.zip
e7befb3ae604f591806194a4da445628 MesaDemos-7.6.tar.gz
0ede7adf217951acd90dbe4551210c07 MesaDemos-7.6.tar.bz2
ed9298409cf6613bc0964525ca4afc8a MesaDemos-7.6.zip
666955668e44ff14acf7d15dc78407d3 MesaGLUT-7.6.tar.gz
b8b59706f827d18d1b784a0ff98b4dc2 MesaGLUT-7.6.tar.bz2
c49c19c2bbef4f3b7f1389974dff25f4 MesaGLUT-7.6.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li><a href="../openvg.html">OpenVG</a> front-end (state tracker for Gallium).
This was written by Zack Rusin at Tungsten Graphics.
<li>GL_ARB_vertex_array_object and GL_APPLE_vertex_array_object extensions
(supported in Gallium drivers, Intel DRI drivers, and software drivers)</li>
<li>GL_ARB_copy_buffer extension
(supported in Gallium drivers, Intel DRI drivers, and software drivers)</li>
<li>GL_ARB_map_buffer_range extension
(supported in Gallium drivers, Intel DRI drivers, and software drivers)</li>
<li>GL_ARB_seamless_cube_map extension
(supported in software drivers and i965 drivers)</li>
<li>GL_ARB_vertex_array_bgra (ARB synonym for GL_EXT_vertex_array_bgra)</li>
<li>GL_ARB_sync (supported in software drivers and Intel DRI drivers)</li>
<li>GL_EXT_provoking_vertex extension (supported in Gallium, i915, i965, and software drivers)
<li>Rewritten radeon/r200/r300 driver using a buffer manager
<li>radeon/r200/r300 GL_EXT_framebuffer_object support when used with
kernel memory manager
<li>radeon/r200/r300 support for GL_ARB_occlusion_query</li>
<li>r300 driver supports OpenGL 1.5</li>
<li>r300 driver support for GL_EXT_vertex_array_bgra, GL_EXT_texture_sRGB
<li>i915/945 driver support for GL_ARB_point_sprite, GL_EXT_stencil_two_side
and GL_ATI_separate_stencil extensions
<li>Rewritten assembler for GL_ARB_vertex_program /
GL_ARB_fragment_program.</li>
<li>Added configure --with-max-width=W, --with-max-height=H options to specify
max framebuffer, viewport size.
<li>Initial version of Gallium llvmpipe driver. This is a new driver based
on LLVM which makes exensive use of run-time code generation. This is
an "alpha" stage driver. See the src/gallium/drivers/llvmpipe/README
file for more information.
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>i965 DRI driver fixes, including support for "unlimited" size constant
buffers (GLSL uniforms)
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.7.1.html
0,0 → 1,66
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.7.1 Release Notes / March 28, 2010</h1>
 
<p>
Mesa 7.7.1 is a bug-fix release.
</p>
<p>
Mesa 7.7.1 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
3ab0638cfa7ce8157337a229cf0db2c4 MesaLib-7.7.1.tar.gz
46664d99e03f1e3ac078a7fea02af115 MesaLib-7.7.1.tar.bz2
4e73ba8abb59aff79485eb95d7cefff7 MesaLib-7.7.1.zip
bf1b108983995f7a712cf3343df1c918 MesaDemos-7.7.1.tar.gz
aeb39645d80d656e0adebaa09e5bcd03 MesaDemos-7.7.1.tar.bz2
01c49b7454fd292244eaf8bdc6ed8cf0 MesaDemos-7.7.1.zip
37ec6386693dcb6dc770d1efd63a7a93 MesaGLUT-7.7.1.tar.gz
1e16c85282f843791a21f7bc7b6a1ca8 MesaGLUT-7.7.1.tar.bz2
d352c9e36a8e4d1059f4abc017b131e0 MesaGLUT-7.7.1.zip
</pre>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Assorted fixes to VMware SVGA gallium driver.
<li>Fixed broken blending to multiple color buffers in swrast driver.
<li>Allocate constants more tightly in GL_ARB_vertex/fragment parser.
<li>Fixed mipmap generation bug caused by invalid viewport state.
<li>Gallium SSE codegen for XPD didn't always work.
<li>Fixed Windows build.
<li>Fixed broken glMultiDrawElements().
<li>Silence bogus GL errors generated in glxinfo.
<li>Fixed several render to texture bugs.
<li>Assorted bug fixes in Mesa/Gallium state tracker including
glCopy/DrawPixels() to FBOs.
<li>Assorted fixes to Gallium drivers.
<li>Fixed broken glPush/PopClientAttrib() for vertex arrays in GLX code.
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.7.html
0,0 → 1,77
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.7 Release Notes / 21 December 2009</h1>
 
<p>
Mesa 7.7 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 7.7.1.
</p>
<p>
Mesa 7.7 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
395c9516edf1ad54b0934d8db15557bf MesaLib-7.7.tar.gz
e3fa64a1508bc23dd9de9dd2cea7cfb1 MesaLib-7.7.tar.bz2
e54903eb5e49c3969821fa16b32da245 MesaLib-7.7.zip
53b5b6f78e55de170d43c98cb6aaab7e MesaDemos-7.7.tar.gz
6fd616b27b9826d0faa23e08e05d9435 MesaDemos-7.7.tar.bz2
240fe06159ad73d5e22c27033b66c80a MesaDemos-7.7.zip
9fe11a904b2a9d8cd06cc52bc330b716 MesaGLUT-7.7.tar.gz
e8dceed05a59a2d3c2619d7d734587e3 MesaGLUT-7.7.tar.bz2
96af041d435349ee23ead4667ec36363 MesaGLUT-7.7.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>VMware "SVGA" Gallium driver. This is a Gallium3D driver which targets the
VMware virtual graphics device. It allows Linux OpenGL guest applications
to utilize the 3D graphics hardware of the host operating system.
<li>GL_ARB_draw_elements_base_vertex (supported in Intel i965 and software drivers)</li>
<li>GL_ARB_depth_clamp (supported in Intel i965 DRI and software drivers)</li>
<li>GL_NV_depth_clamp (supported in Intel i965 DRI and software drivers)</li>
<li>GL_ARB_provoking_vertex (same as GL_EXT_provoking_vertex)</li>
<li>Wavefront .obj file loader/viewer demo (progs/demos/objviewer)
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Many assorted i965 driver fixes.
<li>Many r300-gallium driver fixes; this driver is now considered unstable-quality instead of experimental-quality.
</ul>
 
 
<h2>Changes</h2>
<ul>
<li>New Mesa texture/surface format infrastructure
<li>Removed some unused Mesa device driver hooks
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.8.1.html
0,0 → 1,70
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.8.1 Release Notes / April 5, 2010</h1>
 
<p>
Mesa 7.8.1 fixes a couple critical bugs in the recent Mesa 7.8 release. Even
though this is a bug fix release, given its proximity to the 7.8 release, a
new development release, it should also be considered new development release.
People who are concerned with stability and reliability should stick
with a previous release, such as 7.7.1, or wait for Mesa 7.8.2.
</p>
<p>
Mesa 7.8.1 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
62e8e47cbd63741b4bbe634dcdc8a56a MesaLib-7.8.1.tar.gz
25ec15f8e41fde6d206118cc786dbac4 MesaLib-7.8.1.tar.bz2
22b1153010ffdf513836ea9931159e80 MesaLib-7.8.1.zip
c9c0a830923d3820807a08c09d521b3e MesaDemos-7.8.1.tar.gz
9ef47f911869657c6bf2f43ebce86b61 MesaDemos-7.8.1.tar.bz2
93720605eb3f784f9bcc289a4dd2ff52 MesaDemos-7.8.1.zip
ed1d0b1e960afe6a3768eab747cbdbd3 MesaGLUT-7.8.1.tar.gz
6bae516a44c6d26ff3152c960ab648e7 MesaGLUT-7.8.1.tar.bz2
ba306f603ea73c30ee0e7efa14dc5581 MesaGLUT-7.8.1.zip
</pre>
 
 
<h2>New features</h2>
<p>None.</p>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Fix incorrect enums for GLX_INTEL_swap_event by updating glxext.h to
version 27 from OpenGL.org.</li>
<li>Fix compilation errors on non-GLX_DIRECT_RENDERING builds.</li>
<li>Various fixes for building Mesa on OS X.</li>
<li>Pass GLX drawable ID to dri2InvalidateBuffers. Fixes bug #27190.</li>
</ul>
 
 
<h2>Changes</h2>
<p>None.</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.8.2.html
0,0 → 1,152
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.8.2 Release Notes / June 17, 2010</h1>
 
<p>
Mesa 7.8.2 is a bug fix release which fixes bugs found since the 7.8.1 release.
</p>
<p>
Mesa 7.8.2 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
c89b63d253605ed40e8ac370d25a833c MesaLib-7.8.2.tar.gz
6be2d343a0089bfd395ce02aaf8adb57 MesaLib-7.8.2.tar.bz2
a04ad3b06ac5ff3969a003fa7bbf7d5b MesaLib-7.8.2.zip
7c213f92efeb471f0331670d5079d4c0 MesaDemos-7.8.2.tar.gz
757d9e2e06f48b1a52848be9b0307ced MesaDemos-7.8.2.tar.bz2
8d0e5cfe68b8ebf90265d350ae2c48b1 MesaDemos-7.8.2.zip
b74482e3f44f35ed395c4aada4fd8240 MesaGLUT-7.8.2.tar.gz
a471807b65e49c325808ba4551be93ed MesaGLUT-7.8.2.tar.bz2
9f190268c42be582ef66e47365ee61e3 MesaGLUT-7.8.2.zip
</pre>
 
 
<h2>New features</h2>
<p>None.</p>
 
 
<h2>Changes</h2>
<ul>
<li>Upgraded glext.h to version 61, and upgraded glxext.h
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Fixed Gallium glDrawPixels(GL_DEPTH_COMPONENT).
<li>Fixed Gallium Cell driver to buildable, runable state
<li>Fixed bad error checking for glFramebufferRenderbuffer(attachment=GL_DEPTH_STENCIL_ATTACHMENT).
<li>Fixed incorrect Z coordinate handling in "meta" glDraw/CopyPixels.
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">Bug
#23670</a>.</li>
 
<li>Assorted i965 driver fixes.
Including but not limited to:
<ul>
<li>Fix scissoring when width or height is
0. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27643">Bug
#27643</a>.
<li>Fix bit allocation for number of color regions for
ARB_draw_buffers.</li>
<li>Set the correct provoking vertex for clipped first-mode
trifans. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24470">Bug
#24470</a>.</li>
<li>Use <code>R16G16B16A16_FLOAT</code> for 3-component half-float.</li>
<li>Fix assertion for surface tile offset usage on Ironlake.</li>
<li>Fix cube map layouts on Ironlake.</li>
<li>When an RB gets a new region, clear the old from the state
cache. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24119">Bug
#24119</a>.</li>
<li>Reject shaders with uninlined function calls instead of hanging.</li>
</ul>
</li>
 
<li>Assorted i915 driver fixes. Including but not limited to:
<ul>
<li>Fixed texture LOD clamping in i915 driver.
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=24846">Bug
#24846</a>.</li>
<li>Fix off-by-one for drawing rectangle.
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=27408">Bug
#27408</a>.</li>
</ul>
</li>
 
<li>Fixed hangs in etracer on 830 and 845
chipsets. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=26557">Bug
#26557</a>.</li>
<li>Fixed tiling of small textures on all Intel drivers.</li>
<li>Fixed crash in Savage driver when using <code>_mesa_CopyTexImage2D</code>.
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=27652">Bug
#27652</a>.</li>
 
<li>Assorted GLX fixes. Including but not limited to:
<ul>
<li>Fixed <code>__glXInitializeVisualConfigFromTags</code>'s handling of
unrecognized fbconfig tags.</li>
<li>Fixed regression with <code>GLX_USE_GL</code>.
<li>Fixed config chooser logic for 'mask' matching.</li>
<li>Report swap events correctly in direct rendered case (DRI2)</li>
<li>Fixed build with dri2proto which doesn't define
<code>X_DRI2SwapInterval</code>.</li>
<li>Get <code>GLX_SCREEN</code> first in <code>__glXQueryContextInfo</code>.
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=14245">Bug
#14245</a>.</li>
</ul>
</li>
 
<li>Assorted GLSL fixes. Including but not limited to:
<ul>
<li>Change variable declared assertion into conditional in GLSL
compiler. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27921">Bug
#27921</a>.</li>
<li>Fix instruction indexing
bugs. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27566">Bug
#27566</a>.</li>
<li>Updated uniform location / offset encoding to be more like
other implementations.</li>
<li>Don't overwrite a driver's shader infolog with generic failure
message.</li>
</ul>
</li>
 
<li>Fixed OSMesa build for 16 and 32-bit color channel depth.
<li>Fixed OSMesa build with hidden symbol visibility. libOSMesa no longer links to libGL.
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=28305">Bug
#28305</a>.
<li>Fixed handling of multiple render targets in fixed-function
texture envrionmnent programs.</li>
<li>Fixed conversion errors in <code>signed_rgba8888[rev]</code> texel
fetch.</li>
<li>Don't set srcLevel on <code>GL_TEXTURE_RECTANGLE_ARB</code> targets.</li>
<li>Various build fixes for OpenBSD.</li>
<li>Various build fixes for OS X.</li>
<li>Various build fixes for GCC 3.3.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.8.3.html
0,0 → 1,95
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.8.3 Release Notes / (date tbd)</h1>
 
<p>
Mesa 7.8.3 is a bug fix release which fixes bugs found since the 7.8.2 release.
</p>
<p>
Mesa 7.8.3 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
x MesaLib-7.8.3.tar.gz
x MesaLib-7.8.3.tar.bz2
x MesaLib-7.8.3.zip
x MesaDemos-7.8.3.tar.gz
x MesaDemos-7.8.3.tar.bz2
x MesaDemos-7.8.3.zip
x MesaGLUT-7.8.3.tar.gz
x MesaGLUT-7.8.3.tar.bz2
x MesaGLUT-7.8.3.zip
</pre>
 
 
<h2>New features</h2>
<p>None.</p>
 
 
<h2>Changes</h2>
<ul>
<li>The radeon driver should use less memory when searching for a valid mip
image.</li>
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Fix unsupported FB with D24S8 (bug
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">29116</a>)</li>
<li>Fix ReadPixels crash when reading depth/stencil from an FBO</li>
<li>Fixed a bug rendering to 16-bit buffers using swrast.</li>
<li>Fixed a state tracker/TGSI bug that caused crashes when using Windows'
memory debugging features.</li>
<li>Fixed an issue rendering to 32-bit channels with swrast (bug
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=29487">29487</a>)</li>
<li>GLSL: fix indirect <TT>gl_TextureMatrix</TT> addressing (bug
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">28967</a>)</li>
<li>GLSL: fix for bug
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">27216</a></li>
<li>GLSL: fix zw fragcoord entries in some cases (bug
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=29183">29183</a>)</li>
<li>Fix texture env generation in some cases (bug
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=28169">28169</a>)</li>
<li>osmesa: a fix for calling <TT>OSMesaMakeCurrent</TT> twice was applied (bug
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=10966">10966</a></li>
<li>A bug was fixed which could cause Mesa to ignore the
<TT>MESA_EXTENSION_OVERRIDE</TT> environment variable.</li>
<li>A bug related to specular highlights on backfaces was fixed.</li>
<li>A radeon-specific issue with <TT>glCopyTex(Sub)Image</TT> was
corrected.</li>
<li>radeon/wine: flush command stream in more cases, fixing wine d3d9
tests.</li>
<li>r600: fix sin+cos normalization.</li>
<li>r600: (properly) ignore <TT>GL_COORD_REPLACE</TT> when point sprites are
disabled.</li>
<li>radeon: avoid flushing when the context is not current.</li>
<li>r300c: a bug affecting unaligned BOs was fixed.</li>
<li>r300c: a hardlock caused by ARB_half_float_vertex incorrectly advertised on some chipsets.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.8.html
0,0 → 1,77
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.8 Release Notes / March 28, 2010</h1>
 
<p>
Mesa 7.8 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 7.8.1.
</p>
<p>
Mesa 7.8 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
5fcfde5383eccb3e9fd665f08a0ea59b MesaLib-7.8.tar.gz
85cb891eecb89aae4fdd3499cccd934b MesaLib-7.8.tar.bz2
754f39593006effc1c8ec3c27c2f1296 MesaLib-7.8.zip
c3869c29fa6c3dbdd763f7428d271e12 MesaDemos-7.8.tar.gz
9fe8ec184c7f78691e43c4c0a7f97d56 MesaDemos-7.8.tar.bz2
063a96947f7b83d4ad789c6cf291b184 MesaDemos-7.8.zip
5f4246756b7daaddb4fb3f970cad1e28 MesaGLUT-7.8.tar.gz
ca7048a4aa7a437dcc84cc2c7d731336 MesaGLUT-7.8.tar.bz2
b54581aeb79b585b158d6a32f94feff2 MesaGLUT-7.8.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>GL_NV_conditional_render extension (swrast driver only)
<li>GL_EXT_draw_buffers2 extension (swrast and i965 driver only)
<li>GL_ARB_fragment_coord_conventions extension (for swrast, i965, and Gallium drivers)
<li>GL_EXT_texture_array extension (swrast driver only)
<li>GL_APPLE_object_purgeable extension (swrast and i945/i965 DRI drivers)
<li>Much improved support for <a href="../egl.html">EGL in Mesa</a>
<li>New state trackers for <a href="../opengles.html">OpenGL ES 1.1 and 2.0</a>
<li>Dedicated documentation for Gallium
</ul>
 
 
<h2>Bug fixes</h2>
<ul>
<li>Massive improvements to the Gallium driver for R300-R500 Radeons; this
driver is now moderately stable but not terribly performant.
</ul>
 
 
<h2>Changes</h2>
<ul>
<li>Removed support for color-index rendering</li>
<li>Removed support for GCC versions earlier than 3.3.0.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.9.1.html
0,0 → 1,411
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.9.1 Release Notes / January 7, 2011</h1>
 
<p>
Mesa 7.9.1 is a bug fix release which fixes bugs found since the 7.9 release.
</p>
<p>
Mesa 7.9.1 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
78422843ea875ad4eac35b9b8584032b MesaLib-7.9.1.tar.gz
07dc6cfb5928840b8b9df5bd1b3ae434 MesaLib-7.9.1.tar.bz2
c8eaea5b3c3d6dee784bd8c2db91c80f MesaLib-7.9.1.zip
ee9ecae4ca56fbb2d14dc15e3a0a7640 MesaGLUT-7.9.1.tar.gz
41fc477d524e7dc5c84da8ef22422bea MesaGLUT-7.9.1.tar.bz2
90b287229afdf19317aa989d19462e7a MesaGLUT-7.9.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=28800">Bug 28800</a> - [r300c, r300g] Texture corruption with World of Warcraft</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29420">Bug 29420</a> - Amnesia / HPL2 RendererFeatTest - not rendering correctly</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29946">Bug 29946</a> - [swrast] piglit valgrind glsl-array-bounds-04 fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30261">Bug 30261</a> - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30632">Bug 30632</a> - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb &amp;&amp; stfb-&gt;iface == stfbi' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30694">Bug 30694</a> - wincopy will crash on Gallium drivers when going to front buffer</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30787">Bug 30787</a> - Invalid asm shader does not generate draw-time error when used with GLSL shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30993">Bug 30993</a> - getFramebufferAttachmentParameteriv wrongly generates error</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31101">Bug 31101</a> - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31193">Bug 31193</a> - [regression] aa43176e break water reflections</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31194">Bug 31194</a> - The mesa meta save/restore code doesn't ref the current GLSL program</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31371">Bug 31371</a> - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type-&gt;base_type &gt;= 0) &amp;&amp; (type-&gt;base_type &lt;= 3)' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31439">Bug 31439</a> - Crash in glBufferSubData() with size == 0</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31495">Bug 31495</a> - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31514">Bug 31514</a> - isBuffer returns true for unbound buffers</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31560">Bug 31560</a> - [tdfx] tdfx_tex.c:702: error: 'const struct gl_color_table' has no member named 'Format'</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31617">Bug 31617</a> - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31648">Bug 31648</a> - [GLSL] array-struct-array gets assertion: `(size &gt;= 1) &amp;&amp; (size &lt;= 4)' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31650">Bug 31650</a> - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31673">Bug 31673</a> - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31690">Bug 31690</a> - i915 shader compiler fails to flatten if in Aquarium webgl demo.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31832">Bug 31832</a> - [i915] Bad renderbuffer format: 21</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31841">Bug 31841</a> - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31894">Bug 31894</a> - Writing to gl_PointSize with GLES2 corrupts other varyings</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31909">Bug 31909</a> - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr-&gt;operands[i]-&gt;type-&gt;is_scalar()' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31934">Bug 31934</a> - [gallium] Mapping empty buffer object causes SIGSEGV</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31983">Bug 31983</a> - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31985">Bug 31985</a> - [GLSL 1.20] initialized uniform array considered as "unsized"</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31987">Bug 31987</a> - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32035">Bug 32035</a> - [GLSL bisected] comparing unsized array gets segfault</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32070">Bug 32070</a> - llvmpipe renders stencil demo incorrectly</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32273">Bug 32273</a> - assertion fails when starting vdrift 2010 release with shaders enabled</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32287">Bug 32287</a> - [bisected GLSL] float-int failure</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32311">Bug 32311</a> - [965 bisected] Array look-ups broken on GM45</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32520">Bug 32520</a> - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32825">Bug 32825</a> - egl_glx driver completely broken in 7.9 branch [fix in master]</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-7.9..mesa-7.9.1
</pre>
 
<p>Alex Deucher (5):</p>
<ul>
<li>r100: revalidate after radeon_update_renderbuffers</li>
<li>r600c: add missing radeon_prepare_render() call on evergreen</li>
<li>r600c: properly align mipmaps to group size</li>
<li>gallium/egl: fix r300 vs r600 loading</li>
<li>r600c: fix some opcodes on evergreen</li>
</ul>
 
<p>Aras Pranckevicius (2):</p>
<ul>
<li>glsl: fix crash in loop analysis when some controls can't be determined</li>
<li>glsl: fix matrix type check in ir_algebraic</li>
</ul>
 
<p>Brian Paul (27):</p>
<ul>
<li>swrast: fix choose_depth_texture_level() to respect mipmap filtering state</li>
<li>st/mesa: replace assertion w/ conditional in framebuffer invalidation</li>
<li>egl/i965: include inline_wrapper_sw_helper.h</li>
<li>mesa: Add missing else in do_row_3D</li>
<li>mesa: add missing formats in _mesa_format_to_type_and_comps()</li>
<li>mesa: handle more pixel types in mipmap generation code</li>
<li>mesa: make glIsBuffer() return false for never bound buffers</li>
<li>mesa: fix glDeleteBuffers() regression</li>
<li>swrast: init alpha value to 1.0 in opt_sample_rgb_2d()</li>
<li>meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear</li>
<li>st/mesa: fix mapping of zero-sized buffer objects</li>
<li>mesa: check for posix_memalign() errors</li>
<li>llvmpipe: fix broken stencil writemask</li>
<li>mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query</li>
<li>mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type</li>
<li>mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM</li>
<li>mesa: test for cube map completeness in glGenerateMipmap()</li>
<li>tnl: Initialize gl_program_machine memory in run_vp.</li>
<li>tnl: a better way to initialize the gl_program_machine memory</li>
<li>mesa, st/mesa: disable GL_ARB_geometry_shader4</li>
<li>glsl: fix off by one in register index assertion</li>
<li>st/mesa: fix mipmap generation bug</li>
<li>glsl: new glsl_strtod() wrapper to fix decimal point interpretation</li>
<li>mesa: no-op glBufferSubData() on size==0</li>
<li>tdfx: s/Format/_BaseFormat/</li>
<li>st/mesa: fix renderbuffer pointer check in st_Clear()</li>
<li>mesa: Bump the number of bits in the register index.</li>
</ul>
 
<p>Chad Versace (5):</p>
<ul>
<li>glsl: Fix lexer rule for ^=</li>
<li>glsl: Fix ast-to-hir for ARB_fragment_coord_conventions</li>
<li>glsl: Fix ir_expression::constant_expression_value()</li>
<li>glsl: Fix erroneous cast in ast_jump_statement::hir()</li>
<li>glsl: Fix linker bug in cross_validate_globals()</li>
</ul>
 
<p>Chia-I Wu (10):</p>
<ul>
<li>targets/egl: Fix linking with libdrm.</li>
<li>st/vega: Fix version check in context creation.</li>
<li>st/egl: Do not finish a fence that is NULL.</li>
<li>egl: Fix a false negative check in _eglCheckMakeCurrent.</li>
<li>st/mesa: Unreference the sampler view in st_bind_surface.</li>
<li>egl_dri2: Fix __DRI_DRI2 version 1 support.</li>
<li>st/vega: Do not wait NULL fences.</li>
<li>mesa: Do not advertise GL_OES_texture_3D.</li>
<li>egl_glx: Fix borken driver.</li>
<li>egl: Check extensions.</li>
</ul>
 
<p>Daniel Lichtenberger (1):</p>
<ul>
<li>radeon: fix potential segfault in renderbuffer update</li>
</ul>
 
<p>Daniel Vetter (1):</p>
<ul>
<li>r200: revalidate after radeon_update_renderbuffers</li>
</ul>
 
<p>Dave Airlie (1):</p>
<ul>
<li>r300g: fixup rs690 tiling stride alignment calculations.</li>
</ul>
 
<p>Eric Anholt (13):</p>
<ul>
<li>intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.</li>
<li>glsl: Free the loop state context when we free the loop state.</li>
<li>i965: Allow OPCODE_SWZ to put immediates in the first arg.</li>
<li>i965: Add support for rendering to SARGB8 FBOs.</li>
<li>glsl: Add a helper constructor for expressions that works out result type.</li>
<li>glsl: Fix structure and array comparisions.</li>
<li>glsl: Quiet unreachable no-return-from-function warning.</li>
<li>glsl: Mark the array access for whole-array comparisons.</li>
<li>glsl: Fix flipped return of has_value() for array constants.</li>
<li>mesa: Add getters for the rest of the supported draw buffers.</li>
<li>mesa: Add getters for ARB_copy_buffer's attachment points.</li>
<li>i965: Correct the dp_read message descriptor setup on g4x.</li>
<li>glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.</li>
</ul>
 
<p>Fabian Bieler (1):</p>
<ul>
<li>glsl: fix lowering conditional returns in subroutines</li>
</ul>
 
<p>Francisco Jerez (3):</p>
<ul>
<li>meta: Don't leak alpha function/reference value changes.</li>
<li>meta: Fix incorrect rendering of the bitmap alpha component.</li>
<li>meta: Don't try to disable cube maps if the driver doesn't expose the extension.</li>
</ul>
 
<p>Henri Verbeet (2):</p>
<ul>
<li>r600: Evergreen has two extra frac_bits for the sampler LOD state.</li>
<li>st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().</li>
</ul>
 
<p>Ian Romanick (33):</p>
<ul>
<li>Add 7.9 md5sums</li>
<li>docs: Import 7.8.x release notes from 7.8 branch.</li>
<li>docs: download.html does not need to be updated for each release</li>
<li>docs: Update mailing lines from sf.net to freedesktop.org</li>
<li>docs: added news item for 7.9 release</li>
<li>mesa: Validate assembly shaders when GLSL shaders are used</li>
<li>linker: Reject shaders that have unresolved function calls</li>
<li>mesa: Refactor validation of shader targets</li>
<li>glsl: Slightly change the semantic of _LinkedShaders</li>
<li>linker: Improve handling of unread/unwritten shader inputs/outputs</li>
<li>glsl: Commit lexer files changed by previous cherry picking</li>
<li>mesa: Make metaops use program refcounts instead of names.</li>
<li>glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow</li>
<li>mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample</li>
<li>glsl: better handling of linker failures</li>
<li>mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.</li>
<li>i915: Disallow alpha, red, RG, and sRGB as render targets</li>
<li>glsl/linker: Free any IR discarded by optimization passes.</li>
<li>glsl: Add an optimization pass to simplify discards.</li>
<li>glsl: Add a lowering pass to move discards out of if-statements.</li>
<li>i915: Correctly generate unconditional KIL instructions</li>
<li>glsl: Add unary ir_expression constructor</li>
<li>glsl: Ensure that equality comparisons don't return a NULL IR tree</li>
<li>glcpp: Commit changes in generated files cause by previous commit</li>
<li>glsl: Inherrit type of declared variable from initializer</li>
<li>glsl: Inherrit type of declared variable from initializer after processing assignment</li>
<li>linker: Ensure that unsized arrays have a size after linking</li>
<li>linker: Fix regressions caused by previous commit</li>
<li>linker: Allow built-in arrays to have different sizes between shader stages</li>
<li>ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors</li>
<li>Refresh autogenerated file builtin_function.cpp.</li>
<li>docs: Initial set of release notes for 7.9.1</li>
<li>mesa: set version string to 7.9.1</li>
</ul>
 
<p>Julien Cristau (1):</p>
<ul>
<li>Makefile: don't include the same files twice in the tarball</li>
</ul>
 
<p>Kenneth Graunke (19):</p>
<ul>
<li>glcpp: Return NEWLINE token for newlines inside multi-line comments.</li>
<li>generate_builtins.py: Output large strings as arrays of characters.</li>
<li>glsl: Fix constant component count in vector constructor emitting.</li>
<li>ir_dead_functions: Actually free dead functions and signatures.</li>
<li>glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version &gt;= 1.30.</li>
<li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li>
<li>glsl: Fix constant expression handling for &lt;, &gt;, &lt;=, &gt;= on vectors.</li>
<li>glsl: Use do_common_optimization in the standalone compiler.</li>
<li>glsl: Don't inline function prototypes.</li>
<li>glsl: Add a virtual as_discard() method.</li>
<li>glsl: Remove "discard" support from lower_jumps.</li>
<li>glsl: Refactor get_num_operands.</li>
<li>glcpp: Don't emit SPACE tokens in conditional_tokens production.</li>
<li>glsl: Clean up code by adding a new is_break() function.</li>
<li>glsl: Consider the "else" branch when looking for loop breaks.</li>
<li>Remove OES_compressed_paletted_texture from the ES2 extension list.</li>
<li>glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).</li>
<li>Fix build on systems where "python" is python 3.</li>
<li>i965: Internally enable GL_NV_blend_square on ES2.</li>
</ul>
 
<p>Kristian Høgsberg (1):</p>
<ul>
<li>i965: Don't write mrf assignment for pointsize output</li>
</ul>
 
<p>Luca Barbieri (1):</p>
<ul>
<li>glsl: Unroll loops with conditional breaks anywhere (not just the end)</li>
</ul>
 
<p>Marek Olšák (17):</p>
<ul>
<li>r300g: fix microtiling for 16-bits-per-channel formats</li>
<li>r300g: fix texture border for 16-bits-per-channel formats</li>
<li>r300g: add a default channel ordering of texture border for unhandled formats</li>
<li>r300g: fix texture border color for all texture formats</li>
<li>r300g: fix rendering with no vertex elements</li>
<li>r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction</li>
<li>r300g: fix texture border color once again</li>
<li>r300g: fix texture swizzling with compressed textures on r400-r500</li>
<li>r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only</li>
<li>mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium</li>
<li>st/mesa: initialize key in st_vp_varient</li>
<li>r300/compiler: fix swizzle lowering with a presubtract source operand</li>
<li>r300g: fix rendering with a vertex attrib having a zero stride</li>
<li>ir_to_mesa: Add support for conditional discards.</li>
<li>r300g: finally fix the texture corruption on r3xx-r4xx</li>
<li>mesa: fix texel store functions for some float formats</li>
<li>r300/compiler: disable the rename_regs pass for loops</li>
</ul>
 
<p>Mario Kleiner (1):</p>
<ul>
<li>mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.</li>
</ul>
 
<p>Peter Clifton (1):</p>
<ul>
<li>intel: Fix emit_linear_blit to use DWORD aligned width blits</li>
</ul>
 
<p>Robert Hooker (2):</p>
<ul>
<li>intel: Add a new B43 pci id.</li>
<li>egl_dri2: Add missing intel chip ids.</li>
</ul>
 
<p>Roland Scheidegger (1):</p>
<ul>
<li>r200: fix r200 large points</li>
</ul>
 
<p>Thomas Hellstrom (17):</p>
<ul>
<li>st/xorg: Don't try to use option values before processing options</li>
<li>xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers</li>
<li>st/xorg: Add a customizer option to get rid of annoying cursor update flicker</li>
<li>xorg/vmwgfx: Don't hide HW cursors when updating them</li>
<li>st/xorg: Don't try to remove invalid fbs</li>
<li>st/xorg: Fix typo</li>
<li>st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments</li>
<li>st/xorg: Fix compilation errors for Xservers compiled without Composite</li>
<li>st/xorg: Don't use deprecated x*alloc / xfree functions</li>
<li>xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions</li>
<li>st/xorg: Fix compilation for Xservers &gt;= 1.10</li>
<li>mesa: Make sure we have the talloc cflags when using the talloc headers</li>
<li>egl: Add an include for size_t</li>
<li>mesa: Add talloc includes for gles</li>
<li>st/egl: Fix build for include files in nonstandard places</li>
<li>svga/drm: Optionally resolve calls to powf during link-time</li>
<li>gallium/targets: Trivial crosscompiling fix</li>
</ul>
 
<p>Tom Stellard (7):</p>
<ul>
<li>r300/compiler: Make sure presubtract sources use supported swizzles</li>
<li>r300/compiler: Fix register allocator's handling of loops</li>
<li>r300/compiler: Fix instruction scheduling within IF blocks</li>
<li>r300/compiler: Use zero as the register index for unused sources</li>
<li>r300/compiler: Ignore alpha dest register when replicating the result</li>
<li>r300/compiler: Use correct swizzles for all presubtract sources</li>
<li>r300/compiler: Don't allow presubtract sources to be remapped twice</li>
</ul>
 
<p>Vinson Lee (1):</p>
<ul>
<li>glsl: Fix 'control reaches end of non-void function' warning.</li>
</ul>
 
<p>richard (1):</p>
<ul>
<li>r600c : inline vertex format is not updated in an app, switch to use vfetch constants. For the 7.9 and 7.10 branches as well.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.9.2.html
0,0 → 1,340
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.9.2 Release Notes / March 2, 2011</h1>
 
<p>
Mesa 7.9.2 is a bug fix release which fixes bugs found since the 7.9.1 release.
</p>
<p>
Mesa 7.9.2 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
eb4ab8c1a03386def3ea34b1358e9cda MesaLib-7.9.2.tar.gz
8f6d1474912787ce13bd35f3bae9938a MesaLib-7.9.2.tar.bz2
427a81dd43ac97603768dc5c6af3df26 MesaLib-7.9.2.zip
aacb8f4db997e346db40c6066942140a MesaGLUT-7.9.2.tar.gz
18abe6cff4fad8ad4752c7b7ab548e5d MesaGLUT-7.9.2.tar.bz2
3189e5732d636c71baf3d8bc23ce7b11 MesaGLUT-7.9.2.zip
</pre>
 
 
<h2>New features</h2>
<p>None.</p>
 
<h2>Bug fixes</h2>
<p>This list is likely incomplete.</p>
<ul>
<li>Fix an off-by-one bug in a vsplit assertion.</li>
<li>Fix incorrect handling of <tt>layout</tt> qualifier
with <tt>in</tt>, <tt>out</tt>, <tt>attribute</tt>, and <tt>varying</tt>.</li>
 
<li>Fix an i965 GPU hang in GLSL shaders that contain an unconditional <tt>discard</tt> statement.</li>
 
<li>Fix an i965 shader bug where the negative absolute value was generated instead of the absolute value of a negation.</li>
 
<li>Fix numerous issues handling precision qualifiers in GLSL ES.</li>
 
<li>Fixed a few GLX protocol encoder bugs (Julien Cristau)</li>
 
<li>Assorted Gallium llvmpipe driver bug fixes</li>
 
<li>Assorted Mesa/Gallium state tracker bug fixes</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26795">Bug 26795</a> - gl_FragCoord off by one in Gallium drivers.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29164">Bug 29164</a> - [GLSL 1.20] invariant variable shouldn't be used before declaration</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29823">Bug 29823</a> - GetUniform[if]v busted</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29927">Bug 29927</a> - [glsl2] fail to compile shader with constructor for array of struct type</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30156">Bug 30156</a> - [i965] After updating to Mesa 7.9, Civilization IV starts to show garbage</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31923">Bug 31923</a> - [GLSL 1.20] allowing inconsistent centroid declaration between two vertex shaders</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31925">Bug 31925</a> - [GLSL 1.20] "#pragma STDGL invariant(all)" fail</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32214">Bug 32214</a> - [gles2]no link error happens when missing vertex shader or frag shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32375">Bug 32375</a> - [gl gles2] Not able to get the attribute by function glGetVertexAttribfv</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32541">Bug 32541</a> - Segmentation Fault while running an HDR (high dynamic range) rendering demo</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32569">Bug 32569</a> - [gles2] glGetShaderPrecisionFormat not implemented yet</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32695">Bug 32695</a> - [glsl] SIGSEGV glcpp/glcpp-parse.y:833</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32831">Bug 32831</a> - [glsl] division by zero crashes GLSL compiler</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32910">Bug 32910</a> - Keywords 'in' and 'out' not handled properly for GLSL 1.20 shaders</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33219">Bug 33219</a> -[GLSL bisected] implicit sized array triggers segfault in ir_to_mesa_visitor::copy_propagate</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33306">Bug 33306</a> - GLSL integer division by zero crashes GLSL compiler</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33308">Bug 33308</a> -[glsl] ast_to_hir.cpp:3016: virtual ir_rvalue* ast_jump_statement::hir(exec_list*, _mesa_glsl_parse_state*): Assertion `ret != __null' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33316">Bug 33316</a> - uniform array will be allocate one line more and initialize it when it was freed will abort</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33386">Bug 33386</a> - Dubious assembler in read_rgba_span_x86.S</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33388">Bug 33388</a> - Dubious assembler in xform4.S</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33433">Bug 33433</a> - Error in x86-64 API dispatch code.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33507">Bug 33507</a> - [glsl] GLSL preprocessor modulus by zero crash</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33508">Bug 33508</a> - [glsl] GLSL compiler modulus by zero crash</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33916">Bug 33916</a> - Compiler accepts reserved operators % and %=</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34047">Bug 34047</a> - Assert in _tnl_import_array() when using GLfixed vertex datatypes with GLESv2</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34114">Bug 34114</a> - Sun Studio build fails due to standard library functions not being in global namespace</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34198">Bug 34198</a> - [GLSL] implicit sized array with index 0 used gets assertion</li>
 
<li><a href="https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/691653">Ubuntu bug 691653</a> - compiz crashes when using alt-tab (the radeon driver kills it) </li>
 
<li><a href="https://bugs.meego.com/show_bug.cgi?id=13005">Meego bug 13005</a> - Graphics GLSL issue lead to camera preview fail on Pinetrail</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-7.9.1..mesa-7.9.2
</pre>
 
<p>Alberto Milone (1):</p>
<ul>
<li>r600c: add evergreen ARL support.</li>
</ul>
 
<p>Brian Paul (19):</p>
<ul>
<li>draw: Fix an off-by-one bug in a vsplit assertion.</li>
<li>mesa: fix a few format table mistakes, assertions</li>
<li>mesa: fix num_draw_buffers==0 in fixed-function fragment program generation</li>
<li>mesa: don't assert in GetIntegerIndexed, etc</li>
<li>mesa: check for dummy renderbuffer in _mesa_FramebufferRenderbufferEXT()</li>
<li>llvmpipe: make sure binning is active when we begin/end a query</li>
<li>st/mesa: fix incorrect fragcoord.x translation</li>
<li>softpipe: fix off-by-one error in setup_fragcoord_coeff()</li>
<li>cso: fix loop bound in cso_set_vertex_samplers()</li>
<li>st/mesa: set renderbuffer _BaseFormat in a few places</li>
<li>st/mesa: fix the default case in st_format_datatype()</li>
<li>st/mesa: need to translate clear color according to surface's base format</li>
<li>docs: update 7.9.2 release notes with Brian's cherry-picks</li>
<li>docs: add links to 7.9.1 and 7.9.2 release notes</li>
<li>mesa: include compiler.h for ASSERT macro</li>
<li>glsl: add ir_shader case in switch stmt to silence warning</li>
<li>glsl2: fix signed/unsigned comparison warning</li>
<li>mesa: implement glGetShaderPrecisionFormat()</li>
<li>docs: updated environment variable list</li>
</ul>
 
<p>Bryce Harrington (1):</p>
<ul>
<li>r300g: Null pointer check for buffer deref in gallium winsys</li>
</ul>
 
<p>Chad Versace (14):</p>
<ul>
<li>glsl: At link-time, check that globals have matching centroid qualifiers</li>
<li>glcpp: Fix segfault when validating macro redefinitions</li>
<li>glsl: Fix parser rule for type_specifier</li>
<li>glsl: Change default value of ast_type_specifier::precision</li>
<li>glsl: Add semantic checks for precision qualifiers</li>
<li>glsl: Add support for default precision statements</li>
<li>glsl: Remove redundant semantic check in parser</li>
<li>glsl: Fix semantic checks on precision qualifiers</li>
<li>glsl: Fix segfault due to missing printf argument</li>
<li>glsl: Mark 'in' variables at global scope as read-only</li>
<li>glcpp: Raise error when modulus is zero</li>
<li>glsl: Set operators '%' and '%=' to be reserved when GLSL &lt; 1.30</li>
<li>glsl: Reinstate constant-folding for division by zero</li>
<li>tnl: Add support for datatype GL_FIXED in vertex arrays</li>
</ul>
 
<p>Chia-I Wu (1):</p>
<ul>
<li>mesa: Add glDepthRangef and glClearDepthf to APIspec.xml.</li>
</ul>
 
<p>Chris Wilson (1):</p>
<ul>
<li>intel: Check for unsupported texture when finishing using as a render target</li>
</ul>
 
<p>Cyril Brulebois (1):</p>
<ul>
<li>Point to bugs.freedesktop.org rather than bugzilla.freedesktop.org</li>
</ul>
 
<p>Dave Airlie (2):</p>
<ul>
<li>radeon/r200: fix fbo-clearmipmap + gen-teximage</li>
<li>radeon: avoid segfault on 3D textures.</li>
</ul>
 
<p>Dimitry Andric (4):</p>
<ul>
<li>mesa: s/movzx/movzbl/</li>
<li>mesa: s/movzxw/movzwl/ in read_rgba_span_x86.S</li>
<li>glapi: adding @ char before type specifier in glapi_x86.S</li>
<li>glapi: add @GOTPCREL relocation type</li>
</ul>
 
<p>Eric Anholt (11):</p>
<ul>
<li>i965: Avoid double-negation of immediate values in the VS.</li>
<li>docs: Add a relnote for the Civ IV on i965.</li>
<li>i965/vs: When MOVing to produce ABS, strip negate of the operand.</li>
<li>glsl: Fix the lowering of variable array indexing to not lose write_masks.</li>
<li>intel: Make renderbuffer tiling choice match texture tiling choice.</li>
<li>glapi: Add entrypoints and enums for GL_ARB_ES2_compatibility.</li>
<li>mesa: Add extension enable bit for GL_ARB_ES2_compatibility.</li>
<li>mesa: Add actual support for glReleaseShaderCompiler from ES2.</li>
<li>mesa: Add support for glDepthRangef and glClearDepthf.</li>
<li>mesa: Add getters for ARB_ES2_compatibility MAX_*_VECTORS.</li>
<li>mesa: Add getter for GL_SHADER_COMPILER with ARB_ES2_compatibility.</li>
</ul>
 
<p>Ian Romanick (42):</p>
<ul>
<li>docs: Add 7.9.1 md5sums</li>
<li>glsl: Support the 'invariant(all)' pragma</li>
<li>glcpp: Generate an error for division by zero</li>
<li>glsl: Add version_string containing properly formatted GLSL version</li>
<li>glsl &amp; glcpp: Refresh autogenerated lexer and parser files.</li>
<li>glsl: Disallow 'in' and 'out' on globals in GLSL 1.20</li>
<li>glsl: Track variable usage, use that to enforce semantics</li>
<li>glsl: Allow 'in' and 'out' when 'layout' is also available</li>
<li>docs: Initial set of release notes for 7.9.2</li>
<li>mesa: bump version to 7.9.2-devel</li>
<li>docs: Update 7.9.2 release notes</li>
<li>i965: Make OPCODE_KIL_NV do its work in a temp, not the null reg!</li>
<li>glsl: Refresh autogenerated lexer and parser files.</li>
<li>glsl: Don't assert when the value returned by a function has no rvalue</li>
<li>linker: Set sizes for non-global arrays as well</li>
<li>linker: Propagate max_array_access while linking functions</li>
<li>docs: Update 7.9.2 release notes</li>
<li>Use C-style system headers in C++ code to avoid issues with std:: namespace</li>
<li>mesa: glGetUniform only returns a single element of an array</li>
<li>linker: Generate link errors when ES shaders are missing stages</li>
<li>mesa: Fix error checks in GetVertexAttrib functions</li>
<li>docs: Update 7.9.2 release notes</li>
<li>mesa: Remove unsupported OES extensions</li>
<li>glapi: Regenerate for GL_ARB_ES2_compatibility.</li>
<li>mesa: Connect glGetShaderPrecisionFormat into the dispatch table</li>
<li>i965: Set correct values for range/precision of fragment shader types</li>
<li>i915: Set correct values for range/precision of fragment shader types</li>
<li>intel: Fix typeos from 3d028024 and 790ff232</li>
<li>glsl: Ensure that all GLSL versions are supported in the stand-alone compiler</li>
<li>glsl: Reject shader versions not supported by the implementation</li>
<li>mesa: Initial size for secondary color array is 3</li>
<li>glcpp: Regenerate files from recent cherry picks</li>
<li>glsl: Finish out the reduce/reduce error fixes</li>
<li>glsl: Regenerate compiler files from cherry picks</li>
<li>linker: Fix off-by-one error implicit array sizing</li>
<li>i915: Only mark a register as available if all components are written</li>
<li>i915: Calculate partial result to temp register first</li>
<li>i915: Force lowering of all types of indirect array accesses in the FS</li>
<li>docs: Update 7.9.2 release notes for recent cherry picks</li>
<li>docs: Clean up bug fixes list</li>
<li>intel: Remove driver date and related bits from renderer string</li>
<li>mesa: set version string to 7.9.2 (final)</li>
</ul>
 
<p>Jian Zhao (1):</p>
<ul>
<li>mesa: fix an error in uniform arrays in row calculating.</li>
</ul>
 
<p>Julien Cristau (3):</p>
<ul>
<li>glx: fix request lengths</li>
<li>glx: fix GLXChangeDrawableAttributesSGIX request</li>
<li>glx: fix length of GLXGetFBConfigsSGIX</li>
</ul>
 
<p>Keith Packard (1):</p>
<ul>
<li>glsl: Eliminate reduce/reduce conflicts in glsl grammar</li>
</ul>
 
<p>Kenneth Graunke (12):</p>
<ul>
<li>glsl: Expose a public glsl_type::void_type const pointer.</li>
<li>glsl: Don't bother unsetting a destructor that was never set.</li>
<li>glsl, i965: Remove unnecessary talloc includes.</li>
<li>glcpp: Remove use of talloc reference counting.</li>
<li>ralloc: Add a fake implementation of ralloc based on talloc.</li>
<li>Convert everything from the talloc API to the ralloc API.</li>
<li>ralloc: a new MIT-licensed recursive memory allocator.</li>
<li>Remove talloc from the make and automake build systems.</li>
<li>Remove talloc from the SCons build system.</li>
<li>Remove the talloc sources from the Mesa repository.</li>
<li>glsl: Fix use of uninitialized values in _mesa_glsl_parse_state ctor.</li>
<li>glsl: Use reralloc instead of plain realloc.</li>
</ul>
 
<p>Marek Olšák (3):</p>
<ul>
<li>docs: fix messed up names with special characters in relnotes-7.9.1</li>
<li>mesa: fix texture3D mipmap generation for UNSIGNED_BYTE_3_3_2</li>
<li>st/dri: Track drawable context bindings</li>
</ul>
 
<p>Paulo Zanoni (1):</p>
<ul>
<li>dri_util: fail driCreateNewScreen if InitScreen is NULL</li>
</ul>
 
<p>Sam Hocevar (2):</p>
<ul>
<li>docs: add glsl info</li>
<li>docs: fix glsl_compiler name</li>
</ul>
 
<p>Vinson Lee (1):</p>
<ul>
<li>ralloc: Add missing va_end following va_copy.</li>
</ul>
 
<p>nobled (1):</p>
<ul>
<li>glx: Put null check before use</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/7.9.html
0,0 → 1,144
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 7.9 Release Notes / October 4, 2010</h1>
 
<p>
Mesa 7.9 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 7.9.1.
</p>
<p>
Mesa 7.9 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
ed65ab425b25895c7f473d0a5e6e64f8 MesaLib-7.9.tar.gz
82c740c49d572baa6da2b1a1eee90bca MesaLib-7.9.tar.bz2
cd2b6ecec759b0457475e94bbb38fedb MesaLib-7.9.zip
7b54af9fb9b1f6a1a65db2520f50848f MesaGLUT-7.9.tar.gz
20d07419d1929f833fdb36bced290ad5 MesaGLUT-7.9.tar.bz2
62a7edecd7c92675cd6029b05217eb0a MesaGLUT-7.9.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>New, improved GLSL compiler written by Intel.
See the <a href="../shading.html"> Shading Language</a> page for
more information.
<li>New, very experimental Gallium driver for R600-R700 Radeons.
<li>Support for AMD Evergreen-based Radeons (HD 5xxx)
<li>GL_EXT_timer_query extension (i965 driver and softpipe only)
<li>GL_EXT_framebuffer_multisample extension (intel drivers, MAX_SAMPLES = 1)
<li>GL_ARB_texture_swizzle extension (alias of GL_EXT_texture_swizzle)
<li>GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program_shadow,
GL_ARB_window_pos, GL_EXT_gpu_program_parameters,
GL_ATI_texture_env_combine3, GL_MESA_pack_invert, and GL_OES_EGL_image
extensions in Gallium drivers
<li>GL_ARB_depth_clamp and GL_NV_depth_clamp extensions (in nv50 and r600
Gallium drivers)
<li>GL_ARB_half_float_vertex extension (in nvfx, r300, r600, softpipe,
and llvmpipe Gallium drivers)
<li>GL_EXT_draw_buffers2 (in nv50, r600, softpipe, and llvmpipe Gallium
drivers)
<li>GL_EXT_texture_swizzle (in nvfx, r300, r600, softpipe, and llvmpipe
Gallium drivers)
<li>GL_ATI_texture_mirror_once (in nvfx, nv50, r300, r600, softpipe, and
llvmpipe Gallium drivers)
<li>GL_NV_conditional_render (in r300 Gallium driver)
<li>Initial "signs of life" support for Sandybridge hardware in i965 DRI
driver.
</ul>
 
 
<h2>Bug fixes</h2>
<p>This list is likely incomplete.</p>
<ul>
<li>Massive improvements to the Gallium driver for R300-R500 Radeons; this
driver is now considered stable for use as a DRI (OpenGL) driver.
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=10908">Bug 10908</a> - GLSL: gl_FogParamaters gl_Fog built-in uniform not functioning</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=13753">Bug 13753</a> - Numerous bugs in GLSL uniform handling</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16854">Bug 16854</a> - GLSL function call at global scope causes SEGV</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16856">Bug 16856</a> - GLSL indexing of unsized array results in assertion failure</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=18659">Bug 18659</a> - Crash in shader/slang/slang_codegen.c _slang_gen_function_call_name()</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=19089">Bug 19089</a> - [GLSL] glsl1/shadow2D() cases fail</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=22622">Bug 22622</a> - [GM965 GLSL] noise*() cause GPU lockup</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=23743">Bug 23743</a> - For loop from 0 to 0 not optimized out</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=24553">Bug 24553</a> - shader compilation times explode when using more () pairs</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25664">Bug 25664</a> - [GLSL] re-declaring an empty array fails to compile</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25769">Bug 25769</a> - [GLSL] "float" can be implicitly converted to "int"</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25808">Bug 25808</a> - [GLSL] const variable is modified successfully</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25826">Bug 25826</a> - [GLSL] declaring an unsized array then re-declaring with a size fails</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25827">Bug 25827</a> - [GLSL] vector constructor accepts too many arguments successfully</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25829">Bug 25829</a> - [GLSL] allowing non-void function without returning value</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25830">Bug 25830</a> - [GLSL] allowing non-constant-expression as const declaration initializer</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25877">Bug 25877</a> - [GLSL 1.10] implicit conversion from "int" to "float" should not be allowed</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25878">Bug 25878</a> - [GLSL] sampler is converted to int successfully</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25994">Bug 25994</a> - [GM45][GLSL] 'return' statement in vertex shader unsupported</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25999">Bug 25999</a> - [GLSL] embedded structure constructor fails to compile</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26000">Bug 26000</a> - [GLSL] allowing different parameter qualifier between the function definition and declaration</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26001">Bug 26001</a> - [GLSL 1.10] constructing matrix from matrix succeeds</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26224">Bug 26224</a> - [GLSL] Cannot get location of a uniform struct member</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26990">Bug 26990</a> - [GLSL] variable declaration in "while" fails to compile</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27004">Bug 27004</a> - [GLSL] allowing macro redefinition</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27060">Bug 27060</a> - [965] piglit glsl-fs-raytrace failure due to lack of function calls.</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">Bug 27216</a> - Assignment with a function call in an if statement causes an assertion failure</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27261">Bug 27261</a> - GLSL Compiler fails on the following vertex shader</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27265">Bug 27265</a> - GLSL Compiler doesnt link the attached vertex shader</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27388">Bug 27388</a> - [i965] piglit glsl-vs-arrays failure</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27403">Bug 27403</a> - GLSL struct causing "Invalid src register file ..." error</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27914">Bug 27914</a> - GLSL compiler uses MUL+ADD where it could use MAD</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28055">Bug 28055</a> - glsl-texcoord-array fails GLSL compilation</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28374">Bug 28374</a> - SIGSEGV shader/slang/slang_typeinfo.c:534</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28748">Bug 28748</a> - [i965] uninlined function calls support</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28833">Bug 28833</a> - piglit/shaders/glsl-texcoord-array fail</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28834">Bug 28834</a> - Add support for system fpclassify to GL_OES_query_matrix function for OpenBSD / NetBSD</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28837">Bug 28837</a> - varying vec4 index support</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28845">Bug 28845</a> - The GLU tesselator code has some warnings</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28889">Bug 28889</a> - [regression] wine game crash</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28894">Bug 28894</a> - slang build fails if absolute path contains spaces</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28913">Bug 28913</a> - [GLSL] allowing two version statements</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28931">Bug 28931</a> - Floating Point Exception in Warzone2100 Trunk version</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28966">Bug 28966</a> - [r300g] Dynamic branching 3 demo does not run</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">Bug 28967</a> - slang/slang_emit.c:350: storage_to_src_reg: Assertion `index &gt;= 0' failed.</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29013">Bug 29013</a> - [r300g] translate_rgb_op: unknown opcode ILLEGAL OPCODE</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29020">Bug 29020</a> - [r300g] Wine d3d9 tests hardlock</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29910">Bug 29910</a> - Mesa advertises bogus GL_ARB_shading_language_120</li>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30196">Bug 30196</a> - [GLSL] gl_TextureMatrix{Inverse,Transpose,InverseTranspose} unsupported</li>
</ul>
 
 
<h2>Changes</h2>
<ul>
<li>The Mesa demo/test programs have been moved into a separate git
repository.
<li>GL/glext.h file upgraded to version 64
<li>GL/glxext.h file upgraded to version 32
<li>GL/wglext.h file upgraded to version 22
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/8.0.1.html
0,0 → 1,158
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 8.0.1 Release Notes / February 16, 2012</h1>
 
<p>
Mesa 8.0.1 is a bug fix release which fixes bugs found since the 8.0 release.
</p>
<p>
Mesa 8.0 implements the OpenGL 3.0 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 3.0.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
4855c2d93bd2ebd43f384bdcc92c9a27 MesaLib-8.0.1.tar.gz
24eeebf66971809d8f40775a379b36c9 MesaLib-8.0.1.tar.bz2
54e745d14dac5717f7f65b4e2d5c1df2 MesaLib-8.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=28924">Bug 28924</a> - [ILK] piglit tex-border-1 fail</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40864">Bug 40864</a> - [bisected pineview] oglc pxconv-gettex(basic.allCases) fails on pineview</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=43327">Bug 43327</a> - [bisected SNB] HiZ make many oglc cases regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44333">Bug 44333</a> - [bisected] Color distortion with xbmc mediaplayer</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44927">Bug 44927</a> - [SNB IVB regression] gl-117 abort when click</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45221">Bug 45221</a> - [bisected IVB] glean/fbo regression in stencil-only case</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45877">Bug 45877</a> - main/image.c:1597: _mesa_convert_colors: Assertion `dstType == 0x1406' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45578">Bug 45578</a> - main/image.c:1659: _mesa_convert_colors: Assertion `dstType == 0x1403' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45872">Bug 45872</a> - [bisected PNV] oglc mustpass(basic.stipple) regressed on pineview</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45876">Bug 45876</a> - [PNV]oglc texenv(basic.allCases) regressed on pineview</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45917">Bug 45917</a> - [PNV] Regression in Piglit test general/two-sided-lighting-separate-specular</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45943">Bug 45943</a> - [r300g] r300_emit.c:365:r300_emit_aa_state: Assertion `(aa-d&gt;dest)-&gt;cs_buf' failed.</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-8.0..mesa-8.0.1
</pre>
 
<p>Alex Deucher (2):</p>
<ul>
<li>r600g: fix tex tile_type offset for cayman</li>
<li>r600g: 128 bit formats require tile_type = 1 on cayman</li>
</ul>
 
<p>Anuj Phogat (2):</p>
<ul>
<li>meta: Add pixel store/pack operations in decompress_texture_image</li>
<li>meta: Avoid FBO resizing/reallocating in decompress_texture_image</li>
</ul>
 
<p>Brian Paul (6):</p>
<ul>
<li>docs: add news item for 8.0 release</li>
<li>docs: update info about supported systems, GPUs, APIs</li>
<li>docs: add VMware link</li>
<li>docs: remove link to the GLSL compiler page</li>
<li>mesa: fix proxy texture target initialization</li>
<li>swrast: fix span color type selection</li>
</ul>
 
<p>Chad Versace (2):</p>
<ul>
<li>i965: Rewrite the HiZ op</li>
<li>i965: Remove file i965/junk, accidentally added in 7b36c68</li>
</ul>
 
<p>Dave Airlie (1):</p>
<ul>
<li>st/mesa: only resolve if number of samples is &gt; 1</li>
</ul>
 
<p>Eric Anholt (3):</p>
<ul>
<li>i965: Fix HiZ change compiler warning.</li>
<li>i965: Report the failure message when failing to compile the fragment shader.</li>
<li>i965/fs: Enable register spilling on gen7 too.</li>
</ul>
 
<p>Ian Romanick (4):</p>
<ul>
<li>docs: Add 8.0 MD5 checksums</li>
<li>glapi: Include GLES2 headers for ES2 extension functions</li>
<li>swrast: Only avoid empty _TexEnvPrograms</li>
<li>mesa: Bump version number to 8.0.1</li>
</ul>
 
<p>Kenneth Graunke (4):</p>
<ul>
<li>i965: Fix border color on Ironlake.</li>
<li>i965/fs: Add a new fs_inst::regs_written function.</li>
<li>i965/fs: Take # of components into account in try_rewrite_rhs_to_dst.</li>
<li>i965: Emit Ivybridge VS workaround flushes.</li>
</ul>
 
<p>Mathias Fröhlich (1):</p>
<ul>
<li>state_stracker: Fix access to uninitialized memory.</li>
</ul>
 
<p>Paul Berry (1):</p>
<ul>
<li>i915: Fix type of "specoffset" variable.</li>
</ul>
 
<p>Simon Farnsworth (1):</p>
<ul>
<li>r600g: Use a fake reloc to sleep for fences</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/8.0.2.html
0,0 → 1,164
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 8.0.2 Release Notes / March 21, 2012</h1>
 
<p>
Mesa 8.0.2 is a bug fix release which fixes bugs found since the 8.0.1 release.
</p>
<p>
Mesa 8.0.2 implements the OpenGL 3.0 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 3.0.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
70eb3dc74fbfcd72f6776268ee1db52e MesaLib-8.0.2.tar.gz
a368104e5700707048dc3e8691a9a7a1 MesaLib-8.0.2.tar.bz2
d5e5cdb85d2afdbcd1c0623d3ed1c54d MesaLib-8.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=38720">Bug 38720</a> - [SNB] Trine triggers a GPU hang</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40059">Bug 40059</a> - [SNB] hang in "Amnesia: The Dark Descent" demo</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45216">Bug 45216</a> - [SNB] GPU hang in OilRush</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46631">Bug 46631</a> - It's really hard to hit the fast path for the fallback glReadPixels code</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46679">Bug 46679</a> - glReadPixels on a luminance texture returns the wrong values</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46311">Bug 46311</a> - Missing support of point size in Mesa core</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46665">Bug 46665</a> - [PNV] webgl conformance case max texture fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45975">Bug 45975</a> - [Gen4 + ILK] render with pointcoord will fail to render</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46666">Bug 46666</a> - [PNV] webgl conformance case NPOT case fails with TEXTURE_MIN_FILTER set to LINEAR</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-8.0.1..mesa-8.0.2
</pre>
 
<p>Brian Paul (7):</p>
<ul>
<li>svga: add null vs pointer check in update_need_pipeline()</li>
<li>util: add mutex lock in u_debug_memory.c code</li>
<li>mesa: add _mesa_rebase_rgba_float/uint() functions</li>
<li>mesa: use _mesa_rebase_rgba_float/uint() in glReadPixels code</li>
<li>mesa: use _mesa_rebase_rgba_float/uint() in glGetTexImage code</li>
<li>mesa: fix GL_LUMINANCE handling in glGetTexImage</li>
<li>docs: add links to 8.0.1 release notes</li>
</ul>
 
<p>Daniel Vetter (1):</p>
<ul>
<li>i965: fixup W-tile offset computation to take swizzling into account</li>
</ul>
 
<p>Dylan Noblesmith (1):</p>
<ul>
<li>mesa: add back glGetnUniform*v() overflow error reporting</li>
</ul>
 
<p>Ian Romanick (1):</p>
<ul>
<li>docs: Add 8.0.1 release md5sums</li>
</ul>
 
<p>Jakob Bornecrantz (3):</p>
<ul>
<li>mesa: Include mesa ES mapi generated files</li>
<li>mesa: Bump version number to 8.0.2</li>
<li>docs: Add 8.0.2 release notes</li>
</ul>
 
<p>Jeremy Huddleston (3):</p>
<ul>
<li>darwin: config file cleanups</li>
<li>darwin: Build create_context.c</li>
<li>darwin: Link against libxcb</li>
</ul>
 
<p>José Fonseca (1):</p>
<ul>
<li>svga: Clamp advertised PIPE_SHADER_CAP_MAX_TEMPS to SVGA3D_TEMPREG_MAX.</li>
</ul>
 
<p>Kenneth Graunke (2):</p>
<ul>
<li>i965: Only set Last Render Target Select on the last FB write.</li>
<li>i965: Fix Gen6+ dynamic state upper bound on older kernels.</li>
</ul>
 
<p>Marek Olšák (1):</p>
<ul>
<li>gallium/rtasm: properly detect SSE and SSE2</li>
</ul>
 
<p>Neil Roberts (1):</p>
<ul>
<li>mesa: Don't disable fast path for normalized types</li>
</ul>
 
<p>Tom Stellard (1):</p>
<ul>
<li>r300/compiler: Fix bug when lowering KILP on r300 cards</li>
</ul>
 
<p>Yuanhan Liu (6):</p>
<ul>
<li>mesa: let GL3 buf obj queries not depend on opengl major version</li>
<li>tnl: let _TNL_ATTRIB_POINTSIZE do not depend on ctx-&gt;VertexProgram._Enabled</li>
<li>i915: fix wrong rendering of gl_PointSize on Pineview</li>
<li>i915: move the FALLBACK_DRAW_OFFSET check outside the drawing rect check</li>
<li>i965: handle gl_PointCoord for Gen4 and Gen5 platforms</li>
<li>i915: fallback for NPOT cubemap texture</li>
</ul>
 
<p>Zack Rusin (3):</p>
<ul>
<li>svga: fix a crash happening before setting fragment shaders.</li>
<li>svga: Fix stencil op mapping</li>
<li>svga: fix the rasterizer state resets</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/8.0.3.html
0,0 → 1,324
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 8.0.3 Release Notes / May 18, 2012</h1>
 
<p>
Mesa 8.0.3 is a bug fix release which fixes bugs found since the 8.0.2 release.
</p>
<p>
Mesa 8.0.3 implements the OpenGL 3.0 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 3.0.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
b7210a6d6e4584bd852ab29294ce717e MesaLib-8.0.3.tar.gz
cc5ee15e306b8c15da6a478923797171 MesaLib-8.0.3.tar.bz2
32773634a0f7e70a680505a81426eccf MesaLib-8.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=28138">Bug 28138</a> - [G45] Regnum Online, sparkling in in-game rendering</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30102">Bug 30102</a> - glean depthStencil test fails BadLength with indirect non-swrast rendering</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40361">Bug 40361</a> - Glitches on X3100 after upgrade to 7.11</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41152">Bug 41152</a> - [glsl] Shader backend in Regnum Online does not work</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41216">Bug 41216</a> - [bisected pineview]oglc filtercubemin(basic.sizedRGBA) fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41372">Bug 41372</a> - i830_state.c PBO crash</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41495">Bug 41495</a> - i830: intel_get_vb_max / intel_batchbuffer_space mismatch.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44701">Bug 44701</a> - Regnum online textures flickering</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44961">Bug 44961</a> - [bisected i965] oglc sRGB(Mipmap.1D_textures) regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44970">Bug 44970</a> - [i965]oglc max_values(negative.textureSize.textureCube) segfaults</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45214">Bug 45214</a> - Textures disappearing or missing in RegnumOnline OpenGL game</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45558">Bug 45558</a> - cannot render on a drawable of size equal the max framebuffer size</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45921">Bug 45921</a> - [r300g, bisected] Multiple piglit regressions after glsl_to_tgsi changes</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46303">Bug 46303</a> - [SNB] segfault in intel_miptree_release()</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46739">Bug 46739</a> - [snb-m-gt2+] compiz crashed with SIGSEGV in intel_miptree_release()</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46834">Bug 46834</a> - small performance when playing flightgear (swrast fallback through GTT mapping)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47126">Bug 47126</a> - tests/fbo/fbo-array.c:109: create_array_fbo: Assertion `glGetError() == 0' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48218">Bug 48218</a> - brw_fs_schedule_instructions.cpp segfault due to accessing not allocated last_mrf_write[16]</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48545">Bug 48545</a> - LLVMpipe glReadPixels Firefox hits the slow path (WebGL rendering)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=49124">Bug 49124</a> - swrast/s_texfetch.c:1156: set_fetch_functions: Assertion `texImage-&gt;FetchTexel' failed.</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-8.0.2..mesa-8.0.3
</pre>
 
<p>Alban Browaeys (1):</p>
<ul>
<li>dri/i915: Fix off-by-one in i830 clip region size.</li>
</ul>
 
<p>Alex Deucher (2):</p>
<ul>
<li>r200: fix fog coordinate emit</li>
<li>radeon: fix fog coordinate emit</li>
</ul>
 
<p>Alexander von Gluck (4):</p>
<ul>
<li>llvmpipe: fix symbol conflict on Haiku</li>
<li>svga: fix typedef conflicts on Haiku</li>
<li>mesa: Don't use newlocale on Haiku</li>
<li>glsl: Don't use newlocale on Haiku</li>
</ul>
 
<p>Anuj Phogat (4):</p>
<ul>
<li>mesa: fix issues with texture border and array textures</li>
<li>mesa: Fix valid texture target test in _mesa_GetTexLevelParameteriv()</li>
<li>mesa: Fix the cause of piglit test fbo-array failure</li>
<li>intel: Fix a case when mapping large texture fails</li>
</ul>
 
<p>Brian Paul (17):</p>
<ul>
<li>mesa: add a couple fast-paths to fast_read_rgba_pixels_memcpy()</li>
<li>mesa/gdi: remove wmesa_set_renderbuffer_funcs() function</li>
<li>mesa/gdi: remove clear_color() function</li>
<li>mesa: bump version to 8.0.2 in configs/default</li>
<li>swrast: include s_fragprog.h to silence warnings</li>
<li>mesa: remove LSB-first pixel packing check in glReadPixels</li>
<li>mesa: fix error in _mesa_format_matches_format_and_type() for RGB888</li>
<li>mesa: add BGR888 code in _mesa_format_matches_format_and_type()</li>
<li>vbo: fix node_attrsz[] usage in vbo_bind_vertex_list()</li>
<li>mesa: add missing texture integer test in glTexSubImage()</li>
<li>mesa: add missing return after _mesa_error() in update_array()</li>
<li>glsl: propagate MaxUnrollIterations to the optimizer's loop unroller</li>
<li>st/mesa: set MaxUnrollIterations = 255</li>
<li>st/mesa: no-op glCopyPixels if source region is out of bounds</li>
<li>mesa: do more teximage error checking for generic compressed formats</li>
<li>mesa: fix/add error check in _mesa_ColorMaterial()</li>
<li>mesa: fix glMaterial / dlist bug</li>
</ul>
 
<p>Chad Versace (3):</p>
<ul>
<li>glsl: Fix Android build</li>
<li>main: Fix memory leak in _mesa_make_extension_string()</li>
<li>intel: Disable ARB_framebuffer_object in ES contexts</li>
</ul>
 
<p>Chris Wilson (1):</p>
<ul>
<li>i830: Compute initial number of vertices from remaining batch space</li>
</ul>
 
<p>Dave Airlie (4):</p>
<ul>
<li>mesa/format_unpack: add LUMINANCE 8/16 UINT/INT</li>
<li>glx/drisw: avoid segfaults when we fail to get visual</li>
<li>drisw: fix image stride calculation for 16-bit.</li>
<li>intel: fix TFP at 16-bpp</li>
</ul>
 
<p>Dylan Noblesmith (7):</p>
<ul>
<li>intel: fix null dereference processing HiZ buffer</li>
<li>util: fix undefined behavior</li>
<li>util: fix uninitialized table</li>
<li>egl: fix uninitialized values</li>
<li>st/vega: fix uninitialized values</li>
<li>egl-static: fix printf warning</li>
<li>i965: fix typo</li>
</ul>
 
<p>Eric Anholt (19):</p>
<ul>
<li>i965/fs: Jump from discard statements to the end of the program when done.</li>
<li>intel: Fix rendering from textures after RenderTexture().</li>
<li>mesa: Fix handling of glCopyBufferSubData() for src == dst.</li>
<li>i965/fs: Move GL_CLAMP handling to coordinate setup.</li>
<li>i965/fs: Implement GL_CLAMP behavior on texture rectangles on gen6+.</li>
<li>mesa: Fix push/pop of multisample coverage invert.</li>
<li>mesa: Include the multisample enables under GL_MULTISAMPLE_BIT attrib as well.</li>
<li>mesa: Fix display list handling for GL_ARB_draw_instanced.</li>
<li>mesa: Fix display lists for draw_elements_base_vertex with draw_instanced.</li>
<li>mesa: Add missing error check for first &lt; 0 in glDrawArraysInstanced().</li>
<li>i915: Fix piglit fbo-nodepth-test on i830.</li>
<li>intel: Return success when asked to allocate a 0-width/height renderbuffer.</li>
<li>mesa: Throw error on glGetActiveUniform inside Begin/End.</li>
<li>i965/vs: Fix up swizzle for dereference_array of matrices.</li>
<li>glsl: Fix indentation of switch code.</li>
<li>glsl: Let the constructor figure out the types of switch-related expressions.</li>
<li>glsl: Reject non-scalar switch expressions.</li>
<li>glsl: Fix assertion failure on handling switch on uint expressions.</li>
<li>mesa: Check for framebuffer completeness before looking at the rb.</li>
</ul>
 
<p>Eugeni Dodonov (1):</p>
<ul>
<li>intel: add PCI IDs for Ivy Bridge GT2 server variant</li>
</ul>
 
<p>Han Shen(沈涵) (1):</p>
<ul>
<li>bin/mklib: remove '-m32' for arm linux</li>
</ul>
 
<p>Ian Romanick (1):</p>
<ul>
<li>mesa: Bump version number to 8.0.3</li>
</ul>
 
<p>Jakob Bornecrantz (1):</p>
<ul>
<li>docs: Add 8.0.2 md5sums</li>
</ul>
 
<p>Jeremy Huddleston (7):</p>
<ul>
<li>darwin: Eliminate a pthread mutex leak</li>
<li>darwin: Fix an error message</li>
<li>darwin: Make reported errors more user-friendly</li>
<li>darwin: Use ASL for logging</li>
<li>darwin: Unlock our mutex before destroying it</li>
<li>darwin: Eliminate a possible race condition while destroying a surface</li>
<li>darwin: Address a build failure on Leopard and earlier OS versions</li>
</ul>
 
<p>Jon TURNEY (1):</p>
<ul>
<li>Have __glImageSize handle format GL_DEPTH_STENCIL_NV the same way as the server does</li>
</ul>
 
<p>Jonas Maebe (2):</p>
<ul>
<li>glapi: Correct size of allocated _glapi_table struct</li>
<li>apple: Fix a use after free</li>
</ul>
 
<p>Jordan Justen (1):</p>
<ul>
<li>mesa: Add primitive restart support to glArrayElement</li>
</ul>
 
<p>Kenneth Graunke (12):</p>
<ul>
<li>i965: Actually upload sampler state pointers for the VS unit on Gen6.</li>
<li>i965/fs: Fix FB writes that tried to use the non-existent m16 register.</li>
<li>vbo: Remove pedantic warning about 'end' beind out of bounds.</li>
<li>vbo: Ignore invalid element ranges which are outside VBO bounds.</li>
<li>vbo: Rework checking of 'end' against _MaxElement.</li>
<li>vbo: Eliminate short-circuiting in invalid-start case.</li>
<li>i965: Fix GPU hangs in the dummy fragment shader.</li>
<li>i965: Make the dummy fragment shader work in SIMD16 mode.</li>
<li>drirc: Add force_glsl_extensions_warn workaround for Unigine Heaven.</li>
<li>i965: Avoid explicit accumulator operands in SIMD16 mode on Gen7.</li>
<li>intel: Remove pointless software fallback for glBitmap on Gen6.</li>
<li>glsl: Fix broken constant expression handling for &lt;, &lt;=, &gt;, and &gt;=.</li>
</ul>
 
<p>Kurt Roeckx (2):</p>
<ul>
<li>i915: Compute maximum number of verts using the actual batchbuffer size.</li>
<li>i915: Fix i830 polygon stipple from PBOs.</li>
</ul>
 
<p>Marek Olšák (5):</p>
<ul>
<li>r300g/swtcl: don't print an error when getting ClipVertex</li>
<li>r300g/swtcl: don't enter u_vbuf_mgr</li>
<li>r300g/swtcl: don't expose shader subroutine support</li>
<li>r300g/swtcl: fix polygon offset</li>
<li>r300g/swtcl: fix crash when back color is present in vertex shader</li>
</ul>
 
<p>Mathias Fröhlich (1):</p>
<ul>
<li>glsl: Avoid excessive loop unrolling.</li>
</ul>
 
<p>Matt Turner (1):</p>
<ul>
<li>Remove -ffast-math from default CFLAGS</li>
</ul>
 
<p>Paul Berry (1):</p>
<ul>
<li>i915: Initialize swrast_texture_image structure fields.</li>
</ul>
 
<p>Roland Scheidegger (1):</p>
<ul>
<li>mesa: check_index_bounds off-by-one fix</li>
</ul>
 
<p>Tom Stellard (2):</p>
<ul>
<li>r300/compiler: Clear loop registers in vertex shaders w/o loops</li>
<li>r300/compiler: Copy all instruction attributes during local transfoms</li>
</ul>
 
<p>Vinson Lee (5):</p>
<ul>
<li>mesa: Fix memory leak in _mesa_get_uniform_location.</li>
<li>linker: Fix memory leak in count_uniform_size::visit_field.</li>
<li>swrast: Fix memory leaks in blit_linear.</li>
<li>ir_to_mesa: Fix uninitialized member in add_uniform_to_shader.</li>
<li>mesa: Fix memory leak in generate_mipmap_compressed.</li>
</ul>
 
<p>Yuanhan Liu (2):</p>
<ul>
<li>i915: set SPRITE_POINT_ENABLE bit correctly</li>
<li>i965: fix wrong cube/3D texture layout</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/8.0.4.html
0,0 → 1,209
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 8.0.4 Release Notes / July 10, 2012</h1>
 
<p>
Mesa 8.0.4 is a bug fix release which fixes bugs found since the 8.0.2 release.
</p>
<p>
Mesa 8.0.4 implements the OpenGL 3.0 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 3.0.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
02b96082d2f1ad72e7385f4022afafb9 MesaLib-8.0.4.tar.gz
d546f988adfdf986cff45b1efa2d8a46 MesaLib-8.0.4.tar.bz2
1f0fdabe6e8019d4de6c16e20e74d163 MesaLib-8.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=45967">Bug 45967</a> - piglit getteximage-invalid-format-for-packed-type regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47742">Bug 47742</a> - [softpipe] piglit fbo-generatemipmap-array regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48141">Bug 48141</a> - [vmwgfx] src/gallium/auxiliary/util/u_inlines.h:256:pipe_buffer_map_range: Assertion `offset + length &lt;= buffer-&gt;width0' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48472">Bug 48472</a> - GPU Lockup while running demo (rzr - the scene is dead) in wine</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=50033">Bug 50033</a> - src/mesa/state_tracker/st_cb_fbo.c:379:st_render_texture: Assertion `strb-&gt;rtt_level &lt;= strb-&gt;texture-&gt;last_level' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=50621">Bug 50621</a> - Mesa fails its test suite with a buffer overflow.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=50298">Bug 50298</a> - [ILK IVB bisected]Ogles2conform GL/sin/sin_float_vert_xvary.test regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=51574">Bug 51574</a> - ir_loop_jump constructor assigns member variable to itself</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-8.0.3..mesa-8.0.4
</pre>
 
<p>Andreas Betz (1):</p>
<ul>
<li>vega: fix 565 color unpacking bug</li>
</ul>
 
<p>Antoine Labour (2):</p>
<ul>
<li>meta: Cleanup the resources we allocate.</li>
<li>mesa: Free uniforms correclty.</li>
</ul>
 
<p>Brian Paul (22):</p>
<ul>
<li>docs: add link to 8.0.3 release notes</li>
<li>mesa: fix Z32_FLOAT -&gt; uint conversion functions</li>
<li>draw: fix primitive restart bug by using the index buffer offset</li>
<li>st/mesa: fix glDrawPixels(GL_DEPTH_COMPONENT) color output</li>
<li>svga: fix synchronization bug between sampler views and surfaces</li>
<li>mesa: new _mesa_error_check_format_and_type() function</li>
<li>mesa: add missing GL_UNSIGNED_INT_10F_11F_11F_REV case</li>
<li>mesa: fix missing return value in getteximage_error_check()</li>
<li>st/mesa: pass GL_MAP_INVALIDATE_RANGE_BIT to gallium drivers</li>
<li>svga: add 0.5 in float-&gt;int conversion of sample min/max lod</li>
<li>svga: fix min/max lod clamping</li>
<li>svga: change PIPE_CAPF_MAX_TEXTURE_LOD_BIAS from 16.0 to 15.0</li>
<li>st/mesa: add fallback pipe formats for (compressed) R, RG formats</li>
<li>st/mesa: copy num_immediates field when copying the immediates array</li>
<li>svga: move svga_texture() casts/calls in svga_surface_copy()</li>
<li>svga: reset vertex buffer offset in svga_release_user_upl_buffers()</li>
<li>st/mesa: don't set PIPE_BIND_DISPLAY_TARGET for user-created renderbuffers</li>
<li>st/mesa: use private pipe_sampler_view in decompress_with_blit()</li>
<li>st/mesa: add null pointer check in st_texture_image_map()</li>
<li>st/mesa: fix mipmap image size computation w.r.t. texture arrays</li>
<li>draw: fix missing immediates bug in polygon stipple code</li>
<li>st/mesa: fix max_offset computation for base vertex</li>
</ul>
 
<p>Christoph Bumiller (1):</p>
<ul>
<li>nv50: handle NEG,ABS modifiers for short RCP encoding</li>
</ul>
 
<p>Dylan Noblesmith (1):</p>
<ul>
<li>mesa: require GL_MAX_SAMPLES &gt;= 4 for GL 3.0</li>
</ul>
 
<p>Eric Anholt (1):</p>
<ul>
<li>i965/vs: Fix texelFetchOffset()</li>
</ul>
 
<p>Ian Romanick (5):</p>
<ul>
<li>docs: Add 8.0.3 release md5sums</li>
<li>glx/tests: Fix off-by-one error in allocating extension string buffer</li>
<li>glsl: Remove spurious printf messages</li>
<li>glsl: Fix pi/2 constant in acos built-in function</li>
<li>mesa: Bump version number to 8.0.4</li>
</ul>
 
<p>José Fonseca (2):</p>
<ul>
<li>mesa: Avoid void acinclude.m4 Android.common.mk Android.mk autogen.sh bin common.py configs configure.ac docs doxygen include Makefile scons SConstruct src tests arithmetic.</li>
<li>draw: Ensure that prepare is always run after LLVM garbagge collection.</li>
</ul>
 
<p>Kenneth Graunke (15):</p>
<ul>
<li>mesa: Check for a negative "size" parameter in glCopyBufferSubData().</li>
<li>i965: Fix brw_swap_cmod() for LE/GE comparisons.</li>
<li>glsl: Remove unused ir_loop_jump::loop pointer.</li>
<li>ralloc: Fix ralloc_parent() of memory allocated out of the NULL context.</li>
<li>mesa: Restore depth texture state on glPopAttrib(GL_TEXTURE_BIT).</li>
<li>glsl/builtins: Fix textureGrad() for Array samplers.</li>
<li>mesa: Unbind ARB_copy_buffer and transform feedback buffers on delete.</li>
<li>mesa: Support BindBuffer{Base,Offset,Range} with a buffer of 0.</li>
<li>mesa: Unbind ARB_transform_feedback2 binding points on Delete too.</li>
<li>meta: Fix GL_RENDERBUFFER binding in decompress_texture_image().</li>
<li>i965/fs: Fix texelFetchOffset() on pre-Gen7.</li>
<li>i965/vs: Fix texelFetchOffset() on pre-Gen7.</li>
<li>i965/fs: Fix user-defined FS outputs with less than four components.</li>
<li>glsl: Hook up loop_variable_state destructor to plug a memory leak.</li>
<li>glsl: Don't trust loop analysis in the presence of function calls.</li>
</ul>
 
<p>Kurt Roeckx (1):</p>
<ul>
<li>i830: Fix crash for GL_STENCIL_TEST in i830Enable()</li>
</ul>
 
<p>Lukas Rössler (1):</p>
<ul>
<li>glu: fix two Clang warnings</li>
</ul>
 
<p>Marek Olšák (2):</p>
<ul>
<li>mesa: allow exposing GL3 without EXT_texture_integer</li>
<li>st/mesa: don't do srgb-&gt;linear conversion in decompress_with_blit</li>
</ul>
 
<p>Paul Seidler (1):</p>
<ul>
<li>tests: include mesa headers</li>
</ul>
 
<p>Stéphane Marchesin (3):</p>
<ul>
<li>glx: Handle a null reply in QueryVersion.</li>
<li>i915g: Don't invert signalled/unsignalled fences</li>
<li>i915g: Don't avoid flushing when we have a pending fence.</li>
</ul>
 
<p>Thomas Gstädtner (1):</p>
<ul>
<li>gallium/targets: pass ldflags parameter to MKLIB</li>
</ul>
 
<p>Vadim Girlin (2):</p>
<ul>
<li>st/mesa: set stObj-&gt;lastLevel in guess_and_alloc_texture</li>
<li>r600g: check gpr count limit</li>
</ul>
 
<p>Vinson Lee (1):</p>
<ul>
<li>st/mesa: Fix uninitialized members in glsl_to_tgsi_visitor constructor.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/8.0.5.html
0,0 → 1,264
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 8.0.5 Release Notes / October 24, 2012</h1>
 
<p>
Mesa 8.0.5 is a bug fix release which fixes bugs found since the 8.0.4 release.
</p>
<p>
Mesa 8.0.5 implements the OpenGL 3.0 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 3.0.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
cda5d101f43b8784fa60bdeaca4056f2 MesaLib-8.0.5.tar.gz
01305591073a76b65267f69f27d635a3 MesaLib-8.0.5.tar.bz2
97f11c00cac8fb98aa0131990086dc8e MesaLib-8.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=44912">Bug 44912</a> - [bisected] WebGL conformance/textures/texture-mips tests fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46644">Bug 46644</a> - Sandybridge Mobile: ARBfp TXP with coords from fragment.color doesn't apply W divide</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46784">Bug 46784</a> - MAD using multiply written register fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47375">Bug 47375</a> - Blender crash on startup after upgrade to mesa 8.0.1</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48120">Bug 48120</a> - GL_EXT_texture_sRGB_decode still broken</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48628">Bug 48628</a> - [bisected ILK]Oglc fogexp(basic.allCases) regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=49772">Bug 49772</a> - [SNB]Oglc depth-stencil(basic.read.ds) regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=52129">Bug 52129</a> - [Bisected ILK]Piglit spec_ARB_shader_texture_lod_execution_glsl-fs-shadow2DGradARB-01 regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=52382">Bug 52382</a> - [ivb gt1] Severe image corruption and GPU Hang, too many PS threads</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=52563">Bug 52563</a> - build failure - struct radeon_renderbuffer has no member named Base</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53311">Bug 53311</a> - [Bisected IVB]Oglc transform_feedback(advanced.transformFeedback.points) Invalid argument</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53314">Bug 53314</a> - [llvmpipe] src/gallium/drivers/llvmpipe/lp_texture.c:920:llvmpipe_get_texture_tile_layout: Assertion `x &lt; lpr-&gt;tiles_per_row[level]' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53316">Bug 53316</a> - [llvmpipe] src/gallium/drivers/llvmpipe/lp_texture.c:601:llvmpipe_get_transfer: Assertion `resource' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53317">Bug 53317</a> - [llvmpipe] SIGSEGV src/gallium/auxiliary/gallivm/lp_bld_sample.c:99</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53318">Bug 53318</a> - [softpipe] sp_state_shader.c:194:softpipe_delete_fs_state: Assertion `var != softpipe-&gt;fs_variant' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53319">Bug 53319</a> - [softpipe] sp_texture.c:322:softpipe_get_transfer: Assertion `level &lt;= resource-&gt;last_level' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53618">Bug 53618</a> - [Bisected i915]Piglit glx_GLX_ARB_create_context_NULL_attribute_list Aborted</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53972">Bug 53972</a> - Black Mirror III: too dark</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54183">Bug 54183</a> - [Bisected ILK regression]many piglit/oglc/ogles2 cases Segmentation fault</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54193">Bug 54193</a> - output_components uninitialized in fs_visitor::emit_fb_writes()</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54301">Bug 54301</a> - [Bisected ILK regression]Piglit glx_GLX_ARB_create_context_forward-compatible_flag_with_3.0 Segmentation fault</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56211">Bug 56211</a> - src/mesa/state_tracker/st_cb_texture.c:1123:copy_image_data_to_texture: Assertion `u_minify(stImage-&gt;pt-&gt;height0, src_level) == stImage-&gt;base.Height' failed.</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-8.0.4..mesa-8.0.5
</pre>
 
<p>Alex Deucher (3):</p>
<ul>
<li>r600g: 8.0.x support for Trinity</li>
<li>r600g: add new Sumo, Palm, BTC pci ids</li>
<li>r600g: add additional evergreen pci ids</li>
</ul>
 
<p>Andreas Boll (4):</p>
<ul>
<li>docs/relnotes-8.0.4: fix html markup</li>
<li>mesa: fix html in shortlog_mesa.sh script</li>
<li>mesa: add get-pick-list.sh script into bin/</li>
<li>mesa: Bump version number to 8.0.5</li>
</ul>
 
<p>Brian Paul (18):</p>
<ul>
<li>mesa: use _mesa_is_user_fbo() and _mesa_is_winsys_fbo() functions</li>
<li>intel: use _mesa_is_winsys/user_fbo() helpers</li>
<li>st/egl: fix uninitialized pointer bug</li>
<li>mesa: added Ian's shortlog_mesa.sh script in bin/</li>
<li>mesa: loosen small matrix determinant check</li>
<li>xlib: add X error handler around XGetImage() call</li>
<li>radeon: set swrast_renderbuffer::ColorType field when mapping renderbuffers</li>
<li>svga: fix invalid memory reference in needs_to_create_zero()</li>
<li>meta: fix glDrawPixels fallback test, stencil drawing</li>
<li>radeon: fix Base/base typo</li>
<li>st/mesa: fix glCopyTexSubImage crash</li>
<li>gallivm: fix crash in lp_sampler_static_state()</li>
<li>st/mesa: fix renderbuffer validation bug</li>
<li>softpipe: fix softpipe_delete_fs_state() failed assertion</li>
<li>mesa: raise GL_INVALID_OPERATION in glGenerateMipmap for missing base image</li>
<li>st/mesa: s/CALLOC/calloc/ to fix allocation bug</li>
<li>mesa: do internal format error checking for glTexStorage()</li>
<li>mesa: fix incorrect error for glCompressedSubTexImage</li>
</ul>
 
<p>Chad Versace (3):</p>
<ul>
<li>mesa: Don't advertise GLES extensions in GL contexts</li>
<li>i830: Fix stack corruption</li>
<li>swrast: Fix implicit declaration warnings</li>
</ul>
 
<p>Chris Forbes (1):</p>
<ul>
<li>mesa: fix dropped &amp;&amp; in glGetStringi()</li>
</ul>
 
<p>Christoph Bumiller (1):</p>
<ul>
<li>st/mesa: call update_renderbuffer_surface for sRGB renderbuffers, too</li>
</ul>
 
<p>Eric Anholt (9):</p>
<ul>
<li>i965/gen7: Reduce GT1 WM thread count according to updated BSpec.</li>
<li>i965/fs: Invalidate live intervals in passes that remove an instruction.</li>
<li>i965: Fix bug in the old FS backend's projtex() calculation.</li>
<li>i965: Add support for GL_SKIP_DECODE_EXT on other SRGB formats.</li>
<li>i965/vs: Convert EdgeFlagPointer values appropriately for the VS on gen4.</li>
<li>i965: Fix accumulator_contains() test to also reject swizzles of the dst.</li>
<li>mesa: Fix glPopAttrib() behavior on GL_FRAMEBUFFER_SRGB.</li>
<li>mesa: In conditional rendering fallback, check the query status.</li>
<li>i965: Drop the confusing saturate argument to math instruction setup.</li>
</ul>
 
<p>Ian Romanick (8):</p>
<ul>
<li>docs: Add 8.0.4 release md5sums</li>
<li>Revert "i965: Avoid unnecessary recompiles for shaders that don't use dFdy()."</li>
<li>i965: Fix regression in depth texture rendering on pre-SNB</li>
<li>dri2: Fix bug in attribute handling for non-desktop OpenGL contexts</li>
<li>mesa: Generate an error when glCopyTexImage border is invalid</li>
<li>mesa/es: Validate glTexImage border in Mesa code rather than the ES wrapper</li>
<li>mesa: Allow glGetTexParameter of GL_TEXTURE_SRGB_DECODE_EXT</li>
<li>dri_util: Use calloc to allocate __DRIcontext</li>
</ul>
 
<p>Jonas Maebe (1):</p>
<ul>
<li>darwin: do not create double-buffered offscreen pixel formats</li>
</ul>
 
<p>Jordan Justen (1):</p>
<ul>
<li>intel: move error on create context to proper path</li>
</ul>
 
<p>José Fonseca (1):</p>
<ul>
<li>mesa: disable MSVC global optimization in pack.c</li>
</ul>
 
<p>Kenneth Graunke (8):</p>
<ul>
<li>mesa: Use GLdouble for depthMax in final unpack conversions.</li>
<li>i965/fs: Initialize output_components[] by filling it with zeros.</li>
<li>mesa: Prevent repeated glDeleteShader() from blowing away our refcounts.</li>
<li>i965: Support MESA_FORMAT_SIGNED_RGBA_16.</li>
<li>glsl: Fix #pragma invariant(all) language version check.</li>
<li>i965/vs: Don't clobber sampler message MRFs with subexpressions.</li>
<li>intel: Move finish_batch() call before MI_BATCH_BUFFER_END and padding.</li>
<li>i965/fs: Don't use brw-&gt;fragment_program in calculate_urb_setup().</li>
</ul>
 
<p>Maarten Lankhorst (1):</p>
<ul>
<li>winsys/radeon: Remove unnecessary pipe_thread_destroy in radeon_drm_cs_destroy</li>
</ul>
 
<p>Marek Olšák (6):</p>
<ul>
<li>mesa: remove assertions that do not allow compressed 2D_ARRAY textures</li>
<li>r300g: fix colormask with non-BGRA formats</li>
<li>r600g: fix RSQ of negative value on Cayman</li>
<li>r600g: fix EXP on Cayman</li>
<li>r600g: fix instance divisor on Cayman</li>
<li>gallium/u_blit: set dst format from pipe_resource, not pipe_surface</li>
</ul>
 
<p>Michel Dänzer (2):</p>
<ul>
<li>st/mesa: Fix source miptree level for copying data to finalized miptree.</li>
<li>st/mesa: Fix assertions for copying texture image to finalized miptree.</li>
</ul>
 
<p>Niels Ole Salscheider (1):</p>
<ul>
<li>st/mesa: index can be negative in the PROGRAM_CONSTANT case</li>
</ul>
 
<p>Paul Berry (5):</p>
<ul>
<li>i965: Compute dFdy() correctly for FBOs.</li>
<li>mesa: Add UsesDFdy to struct gl_fragment_program.</li>
<li>i965: Avoid unnecessary recompiles for shaders that don't use dFdy().</li>
<li>i965/Gen6: Work around GPU hangs due to misaligned depth coordinate offsets.</li>
<li>i965/Gen7: Work around GPU hangs due to misaligned depth coordinate offsets.</li>
</ul>
 
<p>Stéphane Marchesin (1):</p>
<ul>
<li>glsl/linker: Avoid buffer over-run in parcel_out_uniform_storage::visit_field</li>
</ul>
 
<p>Tapani Pälli (2):</p>
<ul>
<li>xmlconfig: use __progname when building for Android</li>
<li>android: do not expose single buffered eglconfigs</li>
</ul>
 
<p>Vadim Girlin (1):</p>
<ul>
<li>winsys/radeon: fix relocs caching</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/8.0.html
0,0 → 1,87
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 8.0 Release Notes / February 9, 2012</h1>
 
<p>
Mesa 8.0 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 8.0.1.
</p>
<p>
Mesa 8.0 implements the OpenGL 3.0 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 3.0.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
3516fea6c28ce4a0fa9759e4894729a1 MesaLib-8.0.tar.gz
1a5668fe72651a670611164cefc703b2 MesaLib-8.0.tar.bz2
66f5a01a85530a91472a3acceb556db8 MesaLib-8.0.zip
</pre>
 
 
<h2>New features</h2>
<ul>
<li>GL_ARB_ES2_compatibility (r300g, r600g)
<li>GL_ARB_depth_buffer_float (r600g)
<li>GL_ARB_vertex_type_2_10_10_10_rev (r600g)
<li>GL_ARB_texture_storage (gallium drivers and swrast)
<li>GL_EXT_packed_float (i965)
<li>GL_EXT_texture_array (r600g, i965)
<li>GL_EXT_texture_shared_exponent (i965)
<li>GL_NV_fog_distance (all gallium drivers, nouveau classic)
<li>GL_NV_primitive_restart (r600g)
<li>GL_OES_EGL_image_external (gallium drivers)
<li>GL_OES_compressed_ETC1_RGB8_texture (softpipe, llvmpipe)
<li>ARB_texture_rgb10_a2ui (softpipe, r600g)
<li>Many updates to the VMware svga Gallium driver
</ul>
 
 
<h2>Bug fixes</h2>
 
 
<h2>Changes</h2>
<ul>
<li>Removed all DRI drivers that did not support DRI2. Specifically,
i810, mach64, mga, r128, savage, sis, tdfx, and unichrome were
removed.</li>
<li>Removed support for BeOS.</li>
<li>Removed the obsolete (and unmaintained) Windows "gldirect" and
"ICD" drivers.</li>
<li>Removed the linux-fbdev software driver.</li>
<li>Removed all remnants of paletted texture support. As required by
desktop OpenGL, <tt>GL_COLOR_INDEX</tt> data can still be uploaded
to a color (e.g., RGBA) texture. However, the data cannot be stored
internally as color-index.</li>
<li>Removed support for GL_APPLE_client_storage extension.</li>
<li>Removed the classic Mesa r300 and r600 drivers, which are superseded
by the gallium drivers for this hardware.</li>
<li>Removed the dead Gallium i965, cell and failover drivers, which were
either broken and with nobody in sight to fix the situation or
deprecated.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.0.1.html
0,0 → 1,167
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.0.1 Release Notes / November 16th, 2012</h1>
 
<p>
Mesa 9.0.1 is a bug fix release which fixes bugs found since the 9.0 release.
</p>
<p>
Mesa 9.0 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
<h2>MD5 checksums</h2>
<pre>
97d6554c05ea7449398afe3a0ede7018 MesaLib-9.0.1.tar.bz2
fd0fd5a6e56bc3dd210c80e42baef975 MesaLib-9.0.1.tar.gz
c2683d957acd530a00f747f50317186f MesaLib-9.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=44912">Bug 44912</a> - [bisected] WebGL conformance/textures/texture-mips tests fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=55856">Bug 55856</a> - kwin with gles window content is not updating (gen4)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56057">Bug 56057</a> - INTEL_swap_event not correctly listed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56211">Bug 56211</a> - src/mesa/state_tracker/st_cb_texture.c:1123:copy_image_data_to_texture: Assertion `u_minify(stImage-&gt;pt-&gt;height0, src_level) == stImage-&gt;base.Height' failed.</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-9.0..mesa-9.0.1
</pre>
 
<p>Adam Jackson (1):</p>
<ul>
<li>glx: Add GLXBadProfileARB to the error string list</li>
</ul>
 
<p>Andreas Boll (7):</p>
<ul>
<li>docs: add news item for 9.0 release</li>
<li>mesa: add get-pick-list.sh script into bin/</li>
<li>mesa: add initial .cherry-ignore file for the 9.0 branch</li>
<li>mesa: use .cherry-ignore in the get-pick-list.sh script</li>
<li>build: add config.sub and config.guess to tarballs target</li>
<li>build: add missing Makefile.in files to tarballs target</li>
<li>build: add missing files to tarballs target</li>
</ul>
 
<p>Brian Paul (2):</p>
<ul>
<li>mesa: don't call TexImage driver hooks for zero-sized images</li>
<li>mesa: fix error check for zero-sized compressed subtexture</li>
</ul>
 
<p>Fredrik Höglund (1):</p>
<ul>
<li>egl_dri2/x11: Fix eglPostSubBufferNV()</li>
</ul>
 
<p>Ian Romanick (5):</p>
<ul>
<li>docs: Add 9.0 release md5sums</li>
<li>i965: Fix regression in depth texture rendering on pre-SNB</li>
<li>glx: Set sRGBCapable to a default value</li>
<li>docs: Add 9.0.1 release notes</li>
<li>mesa: Bump version to 9.0.1</li>
</ul>
 
<p>Imre Deak (7):</p>
<ul>
<li>mesa: glGet: fix indentation of _mesa_init_get_hash</li>
<li>mesa: glGet: fix indentation of find_value</li>
<li>mesa: glGet: fix indentation of print_table_stats</li>
<li>mesa: glGet: fix API check for EGL_image_external enums</li>
<li>glapi: rename/move GL_POLYGON_OFFSET_BIAS to its extension section</li>
<li>mesa: glGet: fix parameter lookup for apps using multiple APIs</li>
<li>glget: fix make check for glGet GL_POLYGON_OFFSET_BIAS</li>
</ul>
 
<p>Jonas Ã…dahl (1):</p>
<ul>
<li>wayland: Destroy frame callback when destroying surface</li>
</ul>
 
<p>Kenneth Graunke (1):</p>
<ul>
<li>glsl: Allow ir_if in the linker's move_non_declarations function.</li>
</ul>
 
<p>Kristian Høgsberg (5):</p>
<ul>
<li>gbm: Reject buffers that are not wl_drm buffers in gbm_bo_import()</li>
<li>gbm: Use the kms dumb ioctls for cursor instead of libkms</li>
<li>egl/wayland: Update to Wayland 0.99 API</li>
<li>wayland: Remove 0.85 compatibility #ifdefs</li>
<li>wayland: Drop support for ill-defined, unused wl_egl_pixmap</li>
</ul>
 
<p>Marcin Slusarz (1):</p>
<ul>
<li>nouveau: use pre-calculated stride for resource_get_handle</li>
</ul>
 
<p>Matt Turner (4):</p>
<ul>
<li>egl: Return EGL_BAD_MATCH for invalid profile attributes</li>
<li>Re-add HAVE_PTHREADS preprocessor macro</li>
<li>build: Ship install-sh in the tarball</li>
<li>ralloc: Annotate printf functions with PRINTFLIKE(...)</li>
</ul>
 
<p>Michel Dänzer (2):</p>
<ul>
<li>st/mesa: Fix source miptree level for copying data to finalized miptree.</li>
<li>st/mesa: Fix assertions for copying texture image to finalized miptree.</li>
</ul>
 
<p>Owen W. Taylor (1):</p>
<ul>
<li>glx: Fix listing of INTEL_swap_event in glXQueryExtensionsString()</li>
</ul>
 
<p>Quentin Glidic (1):</p>
<ul>
<li>intel: Add missing #include &lt;time.h&gt;</li>
</ul>
 
<p>Tomeu Vizoso (1):</p>
<ul>
<li>mesa/es: Define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT enum for all GLs</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.0.2.html
0,0 → 1,290
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.0.2 Release Notes / January 22th, 2013</h1>
 
<p>
Mesa 9.0.2 is a bug fix release which fixes bugs found since the 9.0.1 release.
</p>
<p>
Mesa 9.0 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
<h2>MD5 checksums</h2>
<pre>
5ae216ca9fecfa349f14ecb83aa3f124 MesaLib-9.0.2.tar.gz
dc45d1192203e418163e0017640e1cfc MesaLib-9.0.2.tar.bz2
93d40ec77d656dd04b561ba203ffbb91 MesaLib-9.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=22576">Bug 22576</a> - [KMS] mesa demo spectex broken on rv280</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26809">Bug 26809</a> - KMS/R200: Bad shading in NWN since Mesa rewrite</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45877">Bug 45877</a> - [bisected regression] Oglc fbo(negative.invalidParams3) Segmentation fault</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54402">Bug 54402</a> - st_glsl_to_tgsi.cpp:4006:dst_register: Assertion `index &lt; VERT_RESULT_MAX' failed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=55175">Bug 55175</a> - Memoryleak with glPopAttrib only on Intel GM45</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56442">Bug 56442</a> - glcpp accepts junk after #else/#elif/#endif tokens</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56706">Bug 56706</a> - EGL sets error to EGL_SUCCESS when DRI driver fails to create context</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57622">Bug 57622</a> - Webgl conformance shader-with-non-reserved-words crash.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57842">Bug 57842</a> - r200: Culling is broken when rendering to an FBO</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57984">Bug 57984</a> - r300g: blend sfactor=GL_DST_COLOR fails with FBOs</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58545">Bug 58545</a> - [llvmpipe] src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:75:analyse_src: Assertion `src-&gt;Index &lt; (sizeof(ctx-&gt;imm)/sizeof((ctx-&gt;imm)[0]))' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59383">Bug 59383</a> - src/glsl/tests/Makefile.am missing $(top_srcdir)/include</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-9.0.1..mesa-9.0.2
</pre>
 
<p>Abdiel Janulgue (1):</p>
<ul>
<li>mesa: Fix a crash in update_texture_state() for external texture type</li>
</ul>
 
<p>Adam Jackson (4):</p>
<ul>
<li>glcpp: Fix visibility CFLAGS in automake</li>
<li>glcpp: Typo fix.</li>
<li>galahad, noop: Fix visibility CFLAGS in automake</li>
<li>r300g: Fix visibility CFLAGS in automake</li>
</ul>
 
<p>Alex Deucher (2):</p>
<ul>
<li>radeonsi: add some new SI pci ids</li>
<li>radeonsi: add a new SI pci id</li>
</ul>
 
<p>Ander Conselvan de Oliveira (2):</p>
<ul>
<li>egl/wayland: Don't invalidate drawable on swap buffers</li>
<li>egl/wayland: Dispatch the event queue before get_buffers</li>
<li>egl/wayland: Destroy the pending buffer callback with the egl surface</li>
</ul>
 
<p>Andreas Boll (9):</p>
<ul>
<li>docs: fix release date of 9.0.1</li>
<li>docs: add news item for 9.0.1 release</li>
<li>Add .dirstamp to toplevel .gitignore</li>
<li>build: use git ls-files for adding all Makefile.in into the release tarball</li>
<li>build: Fix GLES linkage without libglapi</li>
<li>Revert "r600g: try to fix streamout for the cases where BURST_COUNT &gt; 0"</li>
<li>mesa: update .cherry-ignore list</li>
<li>mesa: Bump version to 9.0.2</li>
<li>docs: Add 9.0.2 release notes</li>
</ul>
 
<p>Anuj Phogat (2):</p>
<ul>
<li>mesa: Generate invalid operation in glGenerateMipMap for integer textures</li>
<li>meta: Remove redundant code in _mesa_meta_GenerateMipmap</li>
</ul>
 
<p>Ben Skeggs (3):</p>
<ul>
<li>nvc0: fix missing permanent bo reference on poly cache</li>
<li>nvc0: point vertex runout at a valid address</li>
<li>nv50: point vertex runout at a valid address</li>
</ul>
 
<p>Brian Paul (5):</p>
<ul>
<li>svga: don't use uninitialized framebuffer state</li>
<li>st/mesa: replace REALLOC() with realloc()</li>
<li>st/mesa: free TGSI tokens with ureg_free_tokens()</li>
<li>util: added pipe_surface_release() function</li>
<li>gallivm: support more immediates in lp_build_tgsi_info()</li>
</ul>
 
<p>Bryan Cain (1):</p>
<ul>
<li>glsl_to_tgsi: set correct register type for array and structure elements</li>
</ul>
 
<p>Chad Versace (2):</p>
<ul>
<li>i965: Validate requested GLES context version in brwCreateContext</li>
<li>egl/dri2: Set error code when dri2CreateContextAttribs fails</li>
</ul>
 
<p>Chris Fester (1):</p>
<ul>
<li>util: null-out the node's prev/next pointers in list_del()</li>
</ul>
 
<p>Christoph Bumiller (5):</p>
<ul>
<li>nv50/ir/tgsi: fix srcMask for TXP with SHADOW1D</li>
<li>nvc0: add missing call to map edge flag in push_vbo</li>
<li>nv50/ir: wrap assertion using typeid in #ifndef NDEBUG</li>
<li>nouveau: fix undefined behaviour when testing sample_count</li>
<li>nv50/ir: restore use of long immediate encodings</li>
</ul>
 
<p>Dave Airlie (5):</p>
<ul>
<li>r600g: fix lod bias/explicit lod with cube maps.</li>
<li>glsl_to_tgsi: fix dst register for texturing fetches.</li>
<li>glsl: fix cut-n-paste error in error handling. (v2)</li>
<li>glsl: initialise killed_all field.</li>
<li>glsl: fix uninitialised variable from constructor</li>
</ul>
 
<p>Eric Anholt (4):</p>
<ul>
<li>mesa: Fix the core GL genned-name handling for glBindBufferBase()/Range().</li>
<li>mesa: Fix core GL genned-name handling for glBeginQuery().</li>
<li>mesa: Fix segfault on reading from a missing color read buffer.</li>
<li>i965/gen4: Fix memory leak each time compile_gs_prog() is called.</li>
</ul>
 
<p>Ian Romanick (2):</p>
<ul>
<li>docs: Add 9.0.1 release md5sums</li>
<li>glsl: Don't add structure fields to the symbol table</li>
</ul>
 
<p>Johannes Obermayr (4):</p>
<ul>
<li>clover: Install CL headers.</li>
<li>gallium/auxiliary: Add -fno-rtti to CXXFLAGS on LLVM &gt;= 3.2.</li>
<li>clover: Adapt libclc's INCLUDEDIR and LIBEXECDIR to make use of the new introduced libclc.pc.</li>
<li>tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).</li>
</ul>
 
<p>Jonas Ã…dahl (1):</p>
<ul>
<li>wayland: Don't cancel a roundtrip when any event is received</li>
</ul>
 
<p>José Fonseca (1):</p>
<ul>
<li>llvmpipe: Obey back writemask.</li>
</ul>
 
<p>Kenneth Graunke (8):</p>
<ul>
<li>i965/vs: Fix unit mismatch in scratch base_offset parameter.</li>
<li>i965/vs: Implement register spilling.</li>
<li>mesa: Don't flatten IF statements by default.</li>
<li>glcpp: Don't use infinite lookhead for #define differentiation.</li>
<li>i965/vs: Don't lose the MRF writemask when doing compute-to-MRF.</li>
<li>i965/vs: Preserve the type when copy propagating into an instruction.</li>
<li>mesa: Fix glGetVertexAttribI[u]iv now that we have real integer attribs.</li>
<li>i965: Fix AA Line Distance Mode in 3DSTATE_SF on Ivybridge.</li>
</ul>
 
<p>Kristian Høgsberg (1):</p>
<ul>
<li>egl/wayland: Add invalidate back in eglSwapBuffers()</li>
</ul>
 
<p>Maarten Lankhorst (2):</p>
<ul>
<li>makefiles: use configured name for -ldrm* where possible</li>
<li>automake: strip LLVM_CXXFLAGS and LLVM_CPPFLAGS too</li>
</ul>
 
<p>Marek Olšák (17):</p>
<ul>
<li>st/mesa: fix integer texture border color for some formats (v2)</li>
<li>r300g: fix texture border color for sRGB formats</li>
<li>mesa: bump MAX_VARYING to 32</li>
<li>draw: fix assertion failure in draw_emit_vertex_attr</li>
<li>vbo: fix glVertexAttribI* functions</li>
<li>mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2</li>
<li>mesa: fix error checking of TexStorage(levels) for array and rect textures</li>
<li>st/mesa: fix guessing the base level size</li>
<li>st/mesa: fix computation of last_level during texture creation</li>
<li>st/mesa: fix computation of last_level in GenerateMipmap</li>
<li>r600g: fix streamout on RS780 and RS880</li>
<li>r600g: advertise 32 streamout vec4 outputs</li>
<li>r600g: fix broken streamout if streamout_begin caused a context flush</li>
<li>mesa: fix BlitFramebuffer between linear and sRGB formats</li>
<li>r600g: try to fix streamout for the cases where BURST_COUNT &gt; 0</li>
<li>r600g: always use a tiled resource as the destination of MSAA resolve</li>
<li>mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2</li>
</ul>
 
<p>Mario Kleiner (1):</p>
<ul>
<li>mesa: Don't glPopAttrib() GL_POINT_SPRITE_COORD_ORIGIN on &lt; OpenGL-2.0</li>
</ul>
 
<p>Matt Turner (1):</p>
<ul>
<li>glcpp: Reject garbage after #else and #endif tokens</li>
</ul>
 
<p>Stefan Dösinger (1):</p>
<ul>
<li>r300: Don't disable destination read if the src blend factor needs it</li>
</ul>
 
<p>Tapani Pälli (1):</p>
<ul>
<li>android: generate matching remap_helper to dispatch table</li>
</ul>
 
<p>Tom Stellard (1):</p>
<ul>
<li>r600g: Use LOOP_START_DX10 for loops</li>
</ul>
 
<p>Vinson Lee (1):</p>
<ul>
<li>i915: Fix wrong sizeof argument in i915_update_tex_unit.</li>
</ul>
 
<p>smoki (2):</p>
<ul>
<li>r200: fix broken tcl lighting</li>
<li>radeon/r200: Fix tcl culling</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.0.3.html
0,0 → 1,247
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.0.3 Release Notes / February 21th, 2013</h1>
 
<p>
Mesa 9.0.3 is a bug fix release which fixes bugs found since the 9.0.2 release.
</p>
<p>
Mesa 9.0 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
<h2>MD5 checksums</h2>
<pre>
168384ac0101f4600a15edd3561acdc7 MesaLib-9.0.3.tar.gz
d7515cc5116c72ac63d735655bd63689 MesaLib-9.0.3.tar.bz2
a2e1c794572440fd0d839a7d7dfea00c MesaLib-9.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=25201">Bug 25201</a> - Pink artifacts on objects in the distance in ETQW/Quake 4</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31598">Bug 31598</a> - configure: Doesn't check for python libxml2</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40404">Bug 40404</a> - [softpipe] piglit glsl-max-varyings regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47220">Bug 47220</a> - [bisected] Oglc pxconv-gettex(basic.allCases) regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48629">Bug 48629</a> - [bisected i965]Oglc shad-compiler(advanced.TestLessThani) regressed</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54240">Bug 54240</a> - [swrast] piglit fbo-generatemipmap-filtering regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56920">Bug 56920</a> - [sandybridge][uxa] graphics very glitchy and always flickering</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57166">Bug 57166</a> - [GM45] Chrome experiment &quot;Stars&quot; crash: brw_fs_emit.cpp:708: brw_reg brw_reg_from_fs_reg(fs_reg*): Assertion „!&quot;not reached&quot;“ failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57746">Bug 57746</a> - build test failure: nouveau_fbo.c:198:3: error: too few arguments to function 'nouveau_renderbuffer_del'</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57754">Bug 57754</a> - [swrast] Mesa 9.1-devel implementation error: Unable to delete renderbuffer, no context</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58680">Bug 58680</a> - [IVB] Graphical glitches in 0 A.D</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58972">Bug 58972</a> - [softpipe] util/u_tile.c:795:pipe_put_tile_z: Assertion `0' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59364">Bug 59364</a> - [bisected] Mesa build fails: clientattrib.c:33:22: fatal error: indirect.h: No such file or directory</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59700">Bug 59700</a> - [ILK/SNB/IVB Bisected]Oglc vertexshader(advanced.TestLightsTwoSided) causes GPU hung</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59873">Bug 59873</a> - [swrast] piglit ext_framebuffer_multisample-interpolation 0 centroid-edges regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60052">Bug 60052</a> - [Bisected]Piglit glx_extension_string_sanity fail</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60172">Bug 60172</a> - Planeshift: triangles where grass would be</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-9.0.2..mesa-9.0.3
</pre>
 
<p>Adam Jackson (1):</p>
<ul>
<li>r200: Fix probable thinko in r200EmitArrays</li>
</ul>
 
<p>Andreas Boll (7):</p>
<ul>
<li>docs: Add 9.0.2 release md5sums</li>
<li>docs: add news item for 9.0.2 release</li>
<li>configure.ac: Allow OpenGL ES1 and ES2 only with enabled OpenGL</li>
<li>build: require python module libxml2</li>
<li>cherry-ignore: Ignore candidates for the 9.1 branch.</li>
<li>mesa: Bump version to 9.0.3</li>
<li>docs: Add 9.0.3 release notes</li>
</ul>
 
<p>Anuj Phogat (1):</p>
<ul>
<li>mesa: Fix GL_LUMINANCE handling for textures in glGetTexImage</li>
</ul>
 
<p>Brian Paul (29):</p>
<ul>
<li>st/glx: accept GLX_SAMPLE_BUFFERS/SAMPLES_ARB == 0</li>
<li>draw: set precalc_flat flag for AA lines too</li>
<li>softpipe: fix up FS variant unbinding / deletion</li>
<li>softpipe: fix unreliable FS variant binding bug</li>
<li>xlib: handle _mesa_initialize_visual()'s return value</li>
<li>xlib: allow GLX_DONT_CARE for glXChooseFBConfig() attribute values</li>
<li>st/glx: allow GLX_DONT_CARE for glXChooseFBConfig() attribute values</li>
<li>util: fix addressing bug in pipe_put_tile_z() for PIPE_FORMAT_Z32_FLOAT</li>
<li>util: add get/put_tile_z() support for PIPE_FORMAT_Z32_FLOAT_S8X24_UINT</li>
<li>mesa: use GLbitfield64 when copying program inputs</li>
<li>svga: add NULL pointer check in svga_create_sampler_state()</li>
<li>vbo: add a null pointer check to handle OOM instead of crashing</li>
<li>osmesa: use _mesa_generate_mipmap() for mipmap generation, not meta</li>
<li>xlib: use _mesa_generate_mipmap() for mipmap generation, not meta</li>
<li>st/mesa: set ctx-&gt;Const.MaxSamples = 0, not 1</li>
<li>mesa: fix-up and use _mesa_delete_renderbuffer()</li>
<li>mesa: pass context parameter to gl_renderbuffer::Delete()</li>
<li>st/mesa: fix context use-after-free problem in st_renderbuffer_delete()</li>
<li>dri_glx: fix use after free report</li>
<li>mesa: remove warning message in _mesa_reference_renderbuffer_()</li>
<li>st/mesa: add null pointer check in st_renderbuffer_delete()</li>
<li>util: add some defensive coding in u_upload_alloc()</li>
<li>st/mesa: do proper error checking for u_upload_alloc() calls</li>
<li>util: add new error checking code in vbuf helper</li>
<li>mesa: don't enable GL_EXT_framebuffer_multisample for software drivers</li>
<li>st/mesa: only enable GL_EXT_framebuffer_multisample if GL_MAX_SAMPLES &gt;= 2</li>
<li>mesa: don't expose IBM_rasterpos_clip in a core context</li>
<li>svga: fix sRGB rendering</li>
<li>nouveau: Fix build.</li>
</ul>
 
<p>Chad Versace (1):</p>
<ul>
<li>i965/disasm: Fix horizontal stride of dest registers</li>
</ul>
 
<p>Eric Anholt (5):</p>
<ul>
<li>i965/fs: Fix the gen6-specific if handling for 80ecb8f15b9ad7d6edc</li>
<li>i965/fs: Don't generate saturates over existing variable values.</li>
<li>i965: Actually add support for GL_ANY_SAMPLES_PASSED from GL_ARB_oq2.</li>
<li>i965/vs: Try again when we've successfully spilled a reg.</li>
<li>i965/gen7: Set up all samplers even if samplers are sparsely used.</li>
</ul>
 
<p>Frank Henigman (1):</p>
<ul>
<li>mesa: add bounds checking for uniform array access</li>
</ul>
 
<p>Jerome Glisse (1):</p>
<ul>
<li>r600g: add cs memory usage accounting and limit it v3 (backport for mesa 9.0)</li>
</ul>
 
<p>Jordan Justen (1):</p>
<ul>
<li>unpack: support unpacking MESA_FORMAT_ARGB2101010</li>
</ul>
 
<p>José Fonseca (2):</p>
<ul>
<li>mesa/st: Don't use 4bits for GL_UNSIGNED_BYTE_3_3_2(_REV)</li>
<li>draw: Properly limit vertex buffer fetches on draw arrays.</li>
</ul>
 
<p>Kenneth Graunke (19):</p>
<ul>
<li>i965: Fix primitive restart on Haswell.</li>
<li>i965: Refactor texture swizzle generation into a helper.</li>
<li>i965: Do texture swizzling in hardware on Haswell.</li>
<li>i965: Lower textureGrad() with samplerCubeShadow.</li>
<li>i965: Use Haswell's sample_d_c for textureGrad with shadow samplers.</li>
<li>i965: Add chipset limits for Haswell GT1/GT2.</li>
<li>cherry-ignore: Ignore i965 guardband bug fixes.</li>
<li>i965: Add missing _NEW_BUFFERS dirty bit in Gen7 SBE state.</li>
<li>i965/vs: Create a 'lod_type' temporary for ir-&gt;lod_info.lod-&gt;type.</li>
<li>i965/vs: Set LOD to 0 for ordinary texture() calls.</li>
<li>i965/vs: Store texturing results into a vec4 temporary.</li>
<li>cherry-ignore: Ignore candidates for the 9.1 branch.</li>
<li>mesa: Disable GL_NV_primitive_restart extension in core contexts.</li>
<li>glsl: Track UBO block names in the symbol table.</li>
<li>build: Fix build on systems where /usr/bin/python isn't python 2.</li>
<li>i965: Refactor Gen6+ SF attribute override code.</li>
<li>i965: Compute the maximum SF source attribute.</li>
<li>i965: Fix the SF Vertex URB Read Length calculation for Sandybridge.</li>
<li>i965: Fix the SF Vertex URB Read Length calculation for Gen7 platforms.</li>
</ul>
 
<p>Marek Olšák (3):</p>
<ul>
<li>r600g: fix int-&gt;bool conversion in fence_signalled</li>
<li>gallium/u_upload_mgr: fix a serious memory leak</li>
<li>r300g: fix blending with blend color and RGBA formats</li>
</ul>
 
<p>Matt Turner (3):</p>
<ul>
<li>mesa: Return 0 for XFB_VARYING_MAX_LENGTH if no varyings</li>
<li>mesa: Set transform feedback's default buffer mode to INTERLEAVED_ATTRIBS</li>
<li>mesa/uniform_query: Don't write to *params if there is an error</li>
</ul>
 
<p>Michel Dänzer (1):</p>
<ul>
<li>configure.ac: GLX cannot work without OpenGL</li>
</ul>
 
<p>Paul Berry (1):</p>
<ul>
<li>mesa: Allow glReadBuffer(GL_NONE) for winsys framebuffers.</li>
</ul>
 
<p>Roland Scheidegger (1):</p>
<ul>
<li>softpipe: fix using optimized filter function</li>
</ul>
 
<p>Stefan Dösinger (3):</p>
<ul>
<li>meta: Disable GL_FRAGMENT_SHADER_ATI in MESA_META_SHADER</li>
<li>radeon: Initialize swrast before setting limits</li>
<li>r200: Initialize swrast before setting limits</li>
</ul>
 
<p>Zack Rusin (2):</p>
<ul>
<li>glx: only advertise GLX_INTEL_swap_event if it's supported</li>
<li>DRI2: Don't disable GLX_INTEL_swap_event unconditionally</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.0.html
0,0 → 1,99
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.0 Release Notes / October 8, 2012</h1>
 
<p>
Mesa 9.0 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 9.0.1.
</p>
<p>
Mesa 9.0 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
be4cd34c6599a7cb9d254b05c48bdb1f MesaLib-9.0.tar.gz
60e557ce407be3732711da484ab3db6c MesaLib-9.0.tar.bz2
16b128544cd3f7e237927bb9f8aab7ce MesaLib-9.0.zip
</pre>
 
 
<h2>New features</h2>
 
<p>
Note: some of the new features are only available with certain drivers.
</p>
 
<ul>
<li>Added new Gallium3D - nv30 driver</li>
<li>Added new Gallium3D - radeonsi driver</li>
<li>Added OpenCL state tracker Clover</li>
<li>Completed VDPAU state tracker (video decoding support is currently limited to MPEG1 and MPEG2)</li>
<li>GL_ARB_base_instance</li>
<li>GL_ARB_blend_func_extended</li>
<li>GL_ARB_debug_output</li>
<li>GL_ARB_invalidate_subdata - Currently a "no-op" implementation. This
extension is always enabled in all drivers.</li>
<li>GL_ARB_shader_bit_encoding</li>
<li>GL_ARB_texture_buffer_object</li>
<li>GL_ARB_timer_query</li>
<li>GL_ARB_transform_feedback3</li>
<li>GL_ARB_transform_feedback_instanced</li>
<li>GL_ARB_uniform_buffer_object</li>
<li>GL_EXT_unpack_subimage for ES 2.0</li>
<li>GL_EXT_read_format_bgra for ES 1.1 and 2.0</li>
<li>GL_EXT_texture_rg for ES 2.x</li>
<li>GL_NV_read_buffer for ES 2.0</li>
<li>GLX_ARB_create_context_robustness</li>
<li>EGL_KHR_create_context</li>
<li>EGL_KHR_surfaceless_context - This replaces the
EGL_KHR_surfaceless_{gles1,gles2,opengl} extensions that were never approved
by Khronos.</li>
<li>EGL_EXT_create_context_robustness</li>
</ul>
 
 
<h2>Bug fixes</h2>
 
<p>TBD -- This list is likely incomplete.</p>
 
 
<h2>Changes</h2>
 
<ul>
<li>
The legacy/static Makefile system (ex: 'make linux-dri') has been removed.
<br>
The two supported build methods are now autoconf/automake and SCons.
</li>
<li>Removed support for GL_ARB_shadow_ambient extension</li>
<li>Removed Gallium3D - nvfx driver (use nv30 instead)</li>
<li>
libGLU has been moved into its own repository, found at <a href="http://cgit.freedesktop.org/mesa/glu/">http://cgit.freedesktop.org/mesa/glu/</a>
</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.1.1.html
0,0 → 1,235
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.1.1 Release Notes / March 19th, 2013</h1>
 
<p>
Mesa 9.1.1 is a bug fix release which fixes bugs found since the 9.1 release.
</p>
<p>
Mesa 9.1 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
<h2>MD5 checksums</h2>
<pre>
6508d9882d8dce7106717f365632700c MesaLib-9.1.1.tar.gz
6ea2bdc3b7ecfb4257b39814b4182580 MesaLib-9.1.1.tar.bz2
3434c0eb47849a08c53cd32833d10d13 MesaLib-9.1.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=30232">Bug 30232</a> - [GM45] mesa demos spriteblast render incorrectly</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32429">Bug 32429</a> - [gles2] Ironlake: gl_PointCoord takes no effect for point sprites</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38086">Bug 38086</a> - Mesa 7.11-devel implementation error: Unexpected program target in destroy_program_variants_cb()</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57121">Bug 57121</a> - [snb] corrupted GLSL built-in function results when using Uniform Buffer contents as arguments</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58042">Bug 58042</a> - [bisected] Garbled UI in Team Fortress 2 and Counter-Strike: Source</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58960">Bug 58960</a> - Texture flicker with fragment shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59495">Bug 59495</a> - [i965 Bisected]Oglc fbblit(advanced.blitFb-3d-cube.mirror.both) fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59783">Bug 59783</a> - [IVB bisected] 3DMMES2.0 Taiji performance reduced by ~13% with gnome-session enable compositing</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60121">Bug 60121</a> - build - libvdpau_softpipe fails at runtime.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60143">Bug 60143</a> - gbm_dri_bo_create fails to initialize bo-&gt;base.base.format</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60802">Bug 60802</a> - Corruption with DMA ring on cayman</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60848">Bug 60848</a> - [bisected] r600g: add htile support cause gpu lockup in Dishonored wine.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60938">Bug 60938</a> - [softpipe] piglit interpolation-noperspective-gl_BackColor-flat-fixed regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61012">Bug 61012</a> - alloc_layout_array tx * ty assertion failure when making pbuffer current</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61026">Bug 61026</a> - Segfault in glBitmap when called with PBO source</li>
 
<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-9.1..mesa-9.1.1
</pre>
 
 
<p>Adam Sampson (1):</p>
<ul>
<li>autotools: oprofilejit should be included in the list of LLVM components required</li>
</ul>
 
<p>Alex Deucher (2):</p>
<ul>
<li>r600g: add Richland APU pci ids</li>
<li>r600g: Use blitter rather than DMA for 128bpp on cayman (v3)</li>
</ul>
 
<p>Andreas Boll (2):</p>
<ul>
<li>docs: Add 9.1 release md5sums</li>
<li>docs: add news item for 9.1 release</li>
</ul>
 
<p>Anuj Phogat (1):</p>
<ul>
<li>meta: Allocate texture before initializing texture coordinates</li>
</ul>
 
<p>Brian Paul (11):</p>
<ul>
<li>docs: remove stray 'date' text</li>
<li>docs: insert links to the 9.0.3 release</li>
<li>draw: fix non-perspective interpolation in interp()</li>
<li>st/mesa: implement glBitmap unpacking from a PBO, for the cache path</li>
<li>st/xlib: initialize the drawable size in create_xmesa_buffer()</li>
<li>st/mesa: fix trimming of GL_QUAD_STRIP</li>
<li>st/mesa: check for dummy programs in destroy_program_variants()</li>
<li>st/mesa: fix polygon offset state translation logic</li>
<li>draw: fix broken polygon offset stage</li>
<li>llvmpipe: add missing checks for polygon offset point/line modes</li>
<li>svga: always link with C++</li>
</ul>
 
<p>Daniel van Vugt (1):</p>
<ul>
<li>gbm: Remember to init format on gbm_dri_bo_create.</li>
</ul>
 
<p>Eric Anholt (7):</p>
<ul>
<li>i965/fs: Do a general SEND dependency workaround for the original 965.</li>
<li>i965/fs: Fix copy propagation with smearing.</li>
<li>i965/fs: Delay setup of uniform loads until after pre-regalloc scheduling.</li>
<li>i965/fs: Only do CSE when the dst types match.</li>
<li>i965/fs: Fix broken math on values loaded from uniform buffers on gen6.</li>
<li>mesa: Fix setup of ctx-&gt;Point.PointSprite for GLES2.</li>
<li>i965: Fix the W value of deprecated pointcoords on pre-gen6.</li>
</ul>
 
<p>Frank Henigman (1):</p>
<ul>
<li>i965: Link i965_dri.so with C++ linker.</li>
</ul>
 
<p>Ian Romanick (3):</p>
<ul>
<li>mesa: Add previously picked commit to .cherry-ignore</li>
<li>mesa: Modify candidate search string</li>
<li>egl: Allow 24-bit visuals for 32-bit RGBA8888 configs</li>
</ul>
 
<p>Jakub Bogusz (1):</p>
<ul>
<li>vdpau-softpipe: Build correct source file - vl_winsys_xsp.c</li>
</ul>
 
<p>Jerome Glisse (1):</p>
<ul>
<li>r600g: workaround hyperz lockup on evergreen</li>
</ul>
 
<p>John KÃ¥re Alsaker (1):</p>
<ul>
<li>llvmpipe: Fix creation of shared and scanout textures.</li>
</ul>
 
<p>Jordan Justen (1):</p>
<ul>
<li>attrib: push/pop FRAGMENT_PROGRAM_ARB state</li>
</ul>
 
<p>José Fonseca (3):</p>
<ul>
<li>scons: Allows choosing VS 10 or 11.</li>
<li>scons: Define _ALLOW_KEYWORD_MACROS on MSVC builds.</li>
<li>scons: Warn when using MSVS versions prior to 2012.</li>
</ul>
 
<p>Keith Kriewall (1):</p>
<ul>
<li>scons: Fix Windows build with LLVM 3.2</li>
</ul>
 
<p>Kenneth Graunke (1):</p>
<ul>
<li>i965: Fix Crystal Well PCI IDs.</li>
</ul>
 
<p>Marek Olšák (5):</p>
<ul>
<li>r600g: use async DMA with a non-zero src offset</li>
<li>r600g: flush and invalidate htile cache when appropriate</li>
<li>gallium/util: add helper code for 1D integer range</li>
<li>r600g: always map uninitialized buffer range as unsynchronized</li>
<li>r600g: pad the DMA CS to a multiple of 8 dwords</li>
</ul>
 
<p>Martin Andersson (1):</p>
<ul>
<li>winsys/radeon: Only add bo to hash table when creating flink</li>
</ul>
 
<p>Matt Turner (1):</p>
<ul>
<li>mesa: Allow ETC2/EAC formats with ARB_ES3_compatibility.</li>
</ul>
 
<p>Michel Dänzer (3):</p>
<ul>
<li>radeonsi: Fix up and enable flat shading.</li>
<li>r600g/Cayman: Fix blending using destination alpha factor but non-alpha dest</li>
<li>radeonsi: Fix off-by-one for maximum vertex element index in some cases</li>
</ul>
 
<p>Tapani Pälli (2):</p>
<ul>
<li>mesa: add missing case in _mesa_GetTexParameterfv()</li>
<li>mesa/es: NULL check in EGLImageTargetTexture2DOES</li>
</ul>
 
<p>Vadim Girlin (1):</p>
<ul>
<li>r600g: fix check_and_set_bank_swizzle for cayman</li>
</ul>
 
<p>Vincent Lejeune (2):</p>
<ul>
<li>r600g/llvm: Add support for UBO</li>
<li>r600g: Check comp_mask before merging export instructions</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.1.2.html
0,0 → 1,237
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.1.2 Release Notes / April 30th, 2013</h1>
 
<p>
Mesa 9.1.2 is a bug fix release which fixes bugs found since the 9.1.1 release.
</p>
<p>
Mesa 9.1 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
<h2>MD5 checksums</h2>
<pre>
df2aab86ff4a510ce5b0d074caa0a59f MesaLib-9.1.2.tar.bz2
415c2bc3a9eb571aafbfa474ebf5a2e0 MesaLib-9.1.2.tar.gz
b1ae5a4d9255953980bc9254f5323420 MesaLib-9.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=44567">Bug 44567</a> - [965gm] green artifacts when using GLSL in XBMC</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59238">Bug 59238</a> - many new symbols in libxatracker after recent automake work</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59445">Bug 59445</a> - [SNB/IVB/HSW Bisected]Oglc draw-buffers2(advanced.blending.none) segfault</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59495">Bug 59495</a> - [i965 Bisected]Oglc fbblit(advanced.blitFb-3d-cube.mirror.both) fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60503">Bug 60503</a> - [r300g] Unigine Heaven 3.0: all objects are black</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60510">Bug 60510</a> - Firefox 18.0.2 Crash On Nvidia GeForce2</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61197">Bug 61197</a> - [SNB Bisected] kwin_gles screen corruption</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61317">Bug 61317</a> - [IVB] corrupt rendering with UBOs</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61395">Bug 61395</a> - glEdgeFlag can't be set to false</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61947">Bug 61947</a> - nullpointer dereference causes xorg-server segfault when nouveau DRI driver is loaded</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62357">Bug 62357</a> - llvmpipe: Fragment Shader with &quot;return&quot; in main causes back output</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62434">Bug 62434</a> - [bisected] 3284.073] (EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/r600_dri.so failed (/usr/lib/libllvmradeon9.2.0.so: undefined symbol: lp_build_tgsi_intrinsic)</li>
 
<li><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=349437">Debian bug #349437</a> - mesa - FTBFS: error: 'IEEE_ONE' undeclared</li>
 
<li><a href="http://bugzilla.redhat.com/show_bug.cgi?id=918661">Redhat bug #918661</a> - crash in routine Avogadro UI manipulation</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-9.1.1..mesa-9.1.2
</pre>
 
<p>Adam Jackson (2):</p>
<ul>
<li>glx: Build with VISIBILITY_CFLAGS in automake</li>
<li>linux: Don't emit a .note.ABI-tag section anymore (#26663)</li>
</ul>
 
<p>Alan Hourihane (3):</p>
<ul>
<li>Add missing GL_TEXTURE_CUBE_MAP entry in _mesa_legal_texture_dimensions</li>
<li>Unreference sampler object when it's currently bound to texture unit.</li>
<li>mesa: fix glGetInteger*(GL_SAMPLER_BINDING).</li>
</ul>
 
<p>Alex Deucher (1):</p>
<ul>
<li>r600g: disable hyperz by default on 9.1</li>
</ul>
 
<p>Andreas Boll (5):</p>
<ul>
<li>radeon/llvm: Link against libgallium.la to fix an undefined symbol</li>
<li>mesa: use ieee fp on s390 and m68k</li>
<li>build: Enable x86 assembler on Hurd.</li>
<li>osmesa: fix out-of-tree build</li>
<li>gallium/egl: fix out-of-tree build</li>
</ul>
 
<p>Anuj Phogat (1):</p>
<ul>
<li>mesa: Fix FB blitting in case of zero size src or dst rect</li>
</ul>
 
<p>Brian Paul (4):</p>
<ul>
<li>mesa: flush current state when querying GL_EDGE_FLAG</li>
<li>vbo: fix crash found with shared display lists</li>
<li>llvmpipe: tweak CMD_BLOCK_MAX and LP_SCENE_MAX_SIZE</li>
<li>llvmpipe: add some scene limit sanity check assertions</li>
</ul>
 
<p>Carl Worth (1):</p>
<ul>
<li>i965: Avoid segfault in gen6_upload_state</li>
</ul>
 
<p>Chris Forbes (1):</p>
<ul>
<li>i965/vs: Fix Gen4/5 VUE map inconsistency with gl_ClipVertex</li>
</ul>
 
<p>Christoph Bumiller (4):</p>
<ul>
<li>nv50: fix 3D render target setup</li>
<li>nv50,nvc0: disable DEPTH_RANGE_NEAR/FAR clipping during blit</li>
<li>nv50,nvc0: fix 3d blits, restore viewport after blit</li>
<li>nvc0: fix for 2d engine R source formats writing RRR1 and not R001</li>
</ul>
 
<p>Eric Anholt (5):</p>
<ul>
<li>i965/fs: Fix register allocation for uniform pull constants in 16-wide.</li>
<li>i965/fs: Fix broken rendering in large shaders with UBO loads.</li>
<li>i965/fs: Also do the gen4 SEND dependency workaround against other SENDs.</li>
<li>i965: Add definitions for gen7+ data cache messages.</li>
<li>mesa: Disable validate_ir_tree() on release builds.</li>
</ul>
 
<p>Ian Romanick (5):</p>
<ul>
<li>docs: Add 9.1.1 release md5sums</li>
<li>mesa: Add previously picked commit to .cherry-ignore</li>
<li>glsl: Add missing bool case in glsl_type::get_scalar_type</li>
<li>mesa: Note that patch dbf94d1 should't actually get picked to the 9.1 branch</li>
<li>mesa: Bump version to 9.1.2</li>
</ul>
 
<p>Jan de Groot (1):</p>
<ul>
<li>dri/nouveau: fix crash in nouveau_flush</li>
</ul>
 
<p>José Fonseca (3):</p>
<ul>
<li>autotools: Add missing top-level include dir.</li>
<li>mesa,gallium,egl,mapi: One definition of C99 inline/__func__ to rule them all.</li>
<li>include: Fix build with VS 11 (i.e, 2012).</li>
</ul>
 
<p>Kenneth Graunke (4):</p>
<ul>
<li>i965: Fix INTEL_DEBUG=shader_time for Haswell.</li>
<li>i965: Specialize SURFACE_STATE creation for shader time.</li>
<li>i965: Make INTEL_DEBUG=shader_time use the RAW surface format.</li>
<li>i965: Don't use texture swizzling to force alpha to 1.0 if unnecessary.</li>
</ul>
 
<p>Maarten Lankhorst (2):</p>
<ul>
<li>gallium/build: Fix visibility CFLAGS in automake</li>
<li>radeon/llvm: Do not link against libgallium when building statically.</li>
</ul>
 
<p>Marcin Slusarz (1):</p>
<ul>
<li>dri/nouveau: NV17_3D class is not available for NV1a chipset</li>
</ul>
 
<p>Marek Olšák (3):</p>
<ul>
<li>mesa: don't allocate a texture if width or height is 0 in CopyTexImage</li>
<li>gallium/tgsi: fix valgrind warning</li>
<li>mesa: handle HALF_FLOAT like FLOAT in get_tex_rgba</li>
</ul>
 
<p>Martin Andersson (1):</p>
<ul>
<li>r600g: Use virtual address for PIPE_QUERY_SO* in r600_emit_query_end</li>
</ul>
 
<p>Matt Turner (3):</p>
<ul>
<li>configure.ac: Don't check for X11 unconditionally.</li>
<li>configure.ac: Remove stale comment about --x-* arguments.</li>
<li>mesa: Implement TEXTURE_IMMUTABLE_LEVELS for ES 3.0.</li>
</ul>
 
<p>Michel Dänzer (1):</p>
<ul>
<li>radeonsi: Emit pixel shader state even when only the vertex shader changed</li>
</ul>
 
<p>Paul Berry (1):</p>
<ul>
<li>i965: Apply depthstencil alignment workaround when doing fast clears.</li>
</ul>
 
<p>Roland Scheidegger (1):</p>
<ul>
<li>gallivm: fix return opcode handling in main function of a shader</li>
</ul>
 
<p>Tapani Pälli (1):</p>
<ul>
<li>intel: Fix regression in intel_create_image_from_name stride handling</li>
</ul>
 
<p>Tom Stellard (1):</p>
<ul>
<li>r300g: Fix bug in OMOD optimization</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.1.3.html
0,0 → 1,230
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.1.3 Release Notes / May 21st, 2013</h1>
 
<p>
Mesa 9.1.3 is a bug fix release which fixes bugs found since the 9.1.1 release.
</p>
<p>
Mesa 9.1 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
<h2>MD5 checksums</h2>
<pre>
952ccd03547ed72333b64e1746cf8ada MesaLib-9.1.3.tar.bz2
26d2f1aa8e9db388d51fcbd163c61fb7 MesaLib-9.1.3.tar.gz
7017b7bdf0ebfd39a5c46cee7cf6b567 MesaLib-9.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=39251">Bug 39251</a> - Second Life viewers from release 2.7.4.235167 to the last 3.4.0.264911 crash on start.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47478">Bug 47478</a> - [wine] GLX_DONT_CARE does not work for GLX_DRAWABLE_TYPE or GLX_RENDER_TYPE</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56416">Bug 56416</a> - [SNB bisected] SNB hang with rc6 and hiz on glxgears (and other GL apps) immediately after xinit.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57436">Bug 57436</a> - [GLSL1.40 IVB/HSW]Piglit spec/glsl-1.40/compiler_built-in-functions/inverse-mat2.frag fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61554">Bug 61554</a> - [ivb] Mesa 9.1 performance regression on KWin's Lanczos shader</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61773">Bug 61773</a> - abort is an incredibly not-smart way to handle IR validation</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62868">Bug 62868</a> - solaris build broken with missing ffsll</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62999">Bug 62999</a> - glXChooseFBConfig with GLX_DRAWABLE_TYPE, GLX_DONT_CARE fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=63078">Bug 63078</a> - EGL X11 Regression: Maximum swap interval is 0 (worked with 9.0)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=63447">Bug 63447</a> - [i965 Bisected]Ogles1conform/Ogles2conform/Ogles3conform cases segfault</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64662">Bug 64662</a> - [SNB 9.1 Bisected]Ogles2conform GL2ExtensionTests/depth_texture_cube_map/depth_texture_cube_map.test fail</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-9.1.2..mesa-9.1.3
</pre>
 
<p>Alex Deucher (2):</p>
<ul>
<li>r600g: add new richland pci ids</li>
<li>radeonsi: add new SI pci ids</li>
</ul>
 
<p>Alexander Monakov (1):</p>
<ul>
<li>Honor GLX_DONT_CARE in MATCH_MASK</li>
</ul>
 
<p>Andreas Boll (2):</p>
<ul>
<li>mesa: Add a script to generate the list of fixed bugs</li>
<li>mesa: add usage examples to get-pick-list and shortlog scripts</li>
</ul>
 
<p>Aras Pranckevicius (1):</p>
<ul>
<li>GLSL: fix lower_jumps to report progress properly</li>
</ul>
 
<p>Brian Paul (3):</p>
<ul>
<li>mesa: remove platform checks around __builtin_ffs, __builtin_ffsll</li>
<li>gallium/u_blitter: fix is_blit_generic_supported() stencil checking</li>
<li>mesa: enable GL_ARB_texture_float if TEXTURE_FLOAT_ENABLED is defined</li>
</ul>
 
<p>Chad Versace (2):</p>
<ul>
<li>egl/dri2: Fix min/max swap interval of configs</li>
<li>intel: Allocate hiz in intel_renderbuffer_move_to_temp()</li>
</ul>
 
<p>Chris Forbes (2):</p>
<ul>
<li>i965/fs: Don't try to use bogus interpolation modes pre-Gen6.</li>
<li>mesa: don't memcmp() off the end of a cache key.</li>
</ul>
 
<p>Dave Airlie (2):</p>
<ul>
<li>st/mesa: fix UBO offsets.</li>
<li>ralloc: don't write to memory in case of alloc fail.</li>
</ul>
 
<p>Eric Anholt (11):</p>
<ul>
<li>i965/fs: Remove creation of a MOV instruction that's never used.</li>
<li>i965/fs: Move varying uniform offset compuation into the helper func.</li>
<li>i965: Make the constant surface interface take a normal byte size.</li>
<li>i965/fs: Avoid inappropriate optimization with regs_written &gt; 1.</li>
<li>i965/fs: Do CSE on gen7's varying-index pull constant loads.</li>
<li>i965/fs: Clean up the setup of gen4 simd16 message destinations.</li>
<li>i965/gen7: Skip resetting SOL offsets at batch start with HW contexts.</li>
<li>i965/gen6: Reduce updates of transform feedback offsets with HW contexts.</li>
<li>i965: Fix SNB GPU hangs when a blorp batch is the first thing to execute.</li>
<li>i965: Fix hangs on HSW since the gen6 blorp fix.</li>
<li>i965: Disable write masking when setting up texturing m0.</li>
</ul>
 
<p>Haixia Shi (1):</p>
<ul>
<li>ACTIVE_UNIFORM_MAX_LENGTH should include 3 extra characters for arrays.</li>
</ul>
 
<p>Ian Romanick (11):</p>
<ul>
<li>docs: Add 9.1.2 release md5sums</li>
<li>mesa: Note that patch 0967c36 shouldn't actually get picked to the 9.1 branch</li>
<li>mesa: NULL check the pointer before trying to dereference it</li>
<li>egl/dri2: NULL check value returned by dri2_create_surface</li>
<li>mesa: Don't leak shared state when context initialization fails</li>
<li>mesa: Don't leak gl_context::BeginEnd at context destruction</li>
<li>mesa/swrast: Refactor no-memory error checking in blit_linear</li>
<li>mesa/swrast: Move free calls outside the attachment loop</li>
<li>intel: Don't dereference a NULL pointer of calloc fails</li>
<li>mesa: Note that a824692 is already back ported</li>
<li>mesa: Bump version to 9.1.3</li>
</ul>
 
<p>José Fonseca (1):</p>
<ul>
<li>winsys/sw/xlib: Prevent shared memory segment leakage.</li>
</ul>
 
<p>Kenneth Graunke (9):</p>
<ul>
<li>mesa: Add new ctx-&gt;Stencil._WriteEnabled derived state flag.</li>
<li>i965: Fix stencil write enable flag in 3DSTATE_DEPTH_BUFFER on Gen7+.</li>
<li>mesa: Fix unpack function for ETC2_SRGB8_PUNCHTHROUGH_ALPHA1.</li>
<li>mesa: Add an unpack function for ARGB2101010_UINT.</li>
<li>mesa: Add unpack functions for R/RG/RGB [U]INT8/16/32 formats.</li>
<li>mesa: Add unpack functions for A/I/L/LA [U]INT8/16/32 formats.</li>
<li>glsl: Ignore redundant prototypes after a function's been defined.</li>
<li>i965: Lower textureGrad() for samplerCubeShadow.</li>
<li>i965/vs: Fix textureGrad() with shadow samplers on Haswell.</li>
</ul>
 
<p>Maarten Lankhorst (1):</p>
<ul>
<li>nvc0: Fix fd leak in nvc0_create_decoder</li>
</ul>
 
<p>Marek Olšák (5):</p>
<ul>
<li>radeonsi: add more cases for copying unsupported formats to resource_copy_region</li>
<li>mesa: fix glGet queries depending on derived framebuffer state (v2)</li>
<li>gallium/u_blitter: implement buffer clearing</li>
<li>r600g: initialize CMASK and HTILE with the GPU using streamout</li>
<li>st/mesa: depth-stencil-alpha state also depends on _NEW_BUFFERS</li>
</ul>
 
<p>Martin Andersson (1):</p>
<ul>
<li>r600g: Fix UMAD on Cayman</li>
</ul>
 
<p>Michel Dänzer (1):</p>
<ul>
<li>radeonsi: Handle arbitrary 2-byte formats in resource_copy_region</li>
</ul>
 
<p>Paul Berry (7):</p>
<ul>
<li>glsl: Fix array indexing when constant folding built-in functions.</li>
<li>i965: Reduce code duplication in handling of depth, stencil, and HiZ.</li>
<li>glsl/linker: fix varying packing for non-flat integer varyings.</li>
<li>glsl: Document lower_packed_varyings' "flat" requirement with an assert.</li>
<li>glsl/linker: Adapt flat varying handling in preparation for geometry shaders.</li>
<li>glsl/linker: Reduce scope of non-flat integer varying fix.</li>
<li>intel: Do a depth resolve before copying images between miptrees.</li>
</ul>
 
<p>Ralf Jung (1):</p>
<ul>
<li>egl/x11: Fix initialisation of swap_interval</li>
</ul>
 
<p>Roland Scheidegger (1):</p>
<ul>
<li>gallivm: fix small but severe bug in handling multiple lod level strides</li>
</ul>
 
<p>Vadim Girlin (1):</p>
<ul>
<li>gallium: handle drirc disable_glsl_line_continuations option</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.1.4.html
0,0 → 1,321
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.1.4 Release Notes / July 1st, 2013</h1>
 
<p>
Mesa 9.1.4 is a bug fix release which fixes bugs found since the 9.1.3 release.
</p>
<p>
Mesa 9.1 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
<h2>MD5 checksums</h2>
<pre>
a2c4e25d0e27918bc67f61bae04d0cb8 MesaLib-9.1.4.tar.bz2
8c7e9ce5b05cb2223f0587396dd9dc08 MesaLib-9.1.4.tar.gz
020459c5793d4279bdcb2daa1f7dd9f6 MesaLib-9.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=37871">Bug 37871</a> - [bisected i965] Bus error (core dumped) on oglc texdecaltile</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=42182">Bug 42182</a> - egl/opengles1/tri_x11 renders wrong</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44958">Bug 44958</a> - [SNB IVB HSW] mesa demo test texleak bus error</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53494">Bug 53494</a> - [snb] crash in texsubimage to a large atlas in clutter</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60518">Bug 60518</a> - glDrawElements segfault when compiled into display list</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61821">Bug 61821</a> - src/mesa/drivers/dri/common/xmlpool.h:96:29: fatal error: xmlpool/options.h</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=63520">Bug 63520</a> - r300g regression (RV380): Strange rendering of light sources in Penumbra (bisected)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=63701">Bug 63701</a> - [HSW] support new haswell graphics [8086:0a2e]</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64727">Bug 64727</a> - [gm45, bisected] some piglit glsl 1.10 built-in-functions tests crash</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64745">Bug 64745</a> - [llvmpipe] SIGSEGV src/gallium/state_trackers/glx/xlib/glx_api.c:1374</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64934">Bug 64934</a> - [llvmpipe] SIGSEGV src/gallium/state_trackers/glx/xlib/glx_api.c:1363</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=65173">Bug 65173</a> - segfault in _mesa_get_format_datatype and _mesa_get_color_read_type when state dumping with glretrace</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-9.1.3..mesa-9.1.4
</pre>
 
<p>Alan Coopersmith (2):</p>
<ul>
<li>integer overflow in XF86DRIOpenConnection() [CVE-2013-1993 1/2]</li>
<li>integer overflow in XF86DRIGetClientDriverName() [CVE-2013-1993 2/2]</li>
</ul>
 
<p>Alex Deucher (3):</p>
<ul>
<li>radeonsi: add support for hainan chips</li>
<li>radeonsi: add Hainan pci ids</li>
<li>winsys/radeon: add env var to disable VM on Cayman/Trinity</li>
</ul>
pp
<p>Andreas Boll (1):</p>
<ul>
<li>glapi: Add some missing static_dispatch="false" annotations to es_EXT.xml</li>
</ul>
 
<p>Anuj Phogat (1):</p>
<ul>
<li>intel: Add a null pointer check before dereferencing the pointer</li>
</ul>
 
<p>Armin K (1):</p>
<ul>
<li>gallivm: Fix build with LLVM 3.3</li>
</ul>
 
<p>Brian Paul (9):</p>
<ul>
<li>mesa: fix the compressed TexSubImage size checking code</li>
<li>st/mesa: generate GL_OUT_OF_MEMORY if we can't create the index buffer</li>
<li>mesa: fix error checking of DXT sRGB formats in _mesa_base_tex_format()</li>
<li>st/glx/xlib: check for null ctx pointer in glXIsDirect()</li>
<li>xlib: check for null ctx pointer in glXIsDirect()</li>
<li>st/glx: add null ctx check in glXDestroyContext()</li>
<li>xlib: add null ctx check in glXDestroyContext()</li>
<li>meta: move vertex array enables for mipmap generation</li>
<li>mesa: handle missing read buffer in _mesa_get_color_read_format/type()</li>
</ul>
 
<p>Bryan Cain (1):</p>
<ul>
<li>nv50: initialize kick_notify callback in nv50_create</li>
</ul>
 
<p>Chad Versace (3):</p>
<ul>
<li>egl/android: Fix error condition for EGL_ANDROID_image_native_buffer</li>
<li>i965: Fix glColorPointer(GL_FIXED)</li>
<li>intel: Return early if miptree allocation fails</li>
</ul>
 
<p>Chia-I Wu (1):</p>
<ul>
<li>u_vbuf: fix index buffer leak</li>
</ul>
 
<p>Chris Forbes (8):</p>
<ul>
<li>mesa: add accessor for effective stencil ref</li>
<li>intel: Use accessor for stencil reference values</li>
<li>nouveau: Use accessor for stencil reference values</li>
<li>radeon: Use accessor for stencil reference values</li>
<li>st: Use accessor for stencil reference values</li>
<li>swrast: Use accessor for stencil reference values</li>
<li>mesa: Stop clamping stencil reference value at specification time</li>
<li>mesa: Use accessor for stencil reference values in glGet</li>
</ul>
 
<p>Chí-Thanh Christopher Nguyễn (1):</p>
<ul>
<li>targets/dri-i915: Force c++ linker in all cases</li>
</ul>
 
<p>Daniel Martin (1):</p>
<ul>
<li>Fix build of swrast only without libdrm</li>
</ul>
 
<p>Dave Airlie (1):</p>
<ul>
<li>i965: fix problem with constant out of bounds access (v3)</li>
</ul>
 
<p>Eric Anholt (10):</p>
<ul>
<li>mesa: Make core Mesa allocate the texture renderbuffer wrapper.</li>
<li>mesa: Make gl_renderbuffers backed by EGL images use FinishRenderTexture.</li>
<li>i965/fs: Bake regs_written into the IR instead of recomputing it later.</li>
<li>i965/vs: Fix implied_mrf_writes() for integer division pre-gen6.</li>
<li>intel: Add support for writing to our linear-temporary-CPU-map case.</li>
<li>intel: Do temporary CPU maps of textures that are too big to GTT map.</li>
<li>intel: Avoid making tiled miptrees we won't be able to blit.</li>
<li>intel: Fix MRT handling of glBitmap().</li>
<li>intel: Fix format handling of blit glBitmap()</li>
<li>i965: Shut up the last release build warning.</li>
</ul>
 
<p>Fabian Bieler (2):</p>
<ul>
<li>mesa/st: Don't copy propagate from swizzles.</li>
<li>mesa/program: Don't copy propagate from swizzles.</li>
</ul>
 
<p>Frank Henigman (1):</p>
<ul>
<li>intel: initialize fs_visitor::params_remap in constructor</li>
</ul>
 
<p>Ian Romanick (2):</p>
<ul>
<li>docs: Add 9.1.3 release md5sums</li>
<li>mesa: Bump version to 9.1.4</li>
</ul>
 
<p>José Fonseca (1):</p>
<ul>
<li>scons: Fix implicit python dependency discovery on Windows.</li>
</ul>
 
<p>Kenneth Graunke (17):</p>
<ul>
<li>mesa: Add i965 varying index patches to .cherry-ignore.</li>
<li>i965: Turn brw-&gt;urb.vs_size and gs_size into local variables.</li>
<li>i965: Use a variable for the push constant size in kB.</li>
<li>i965: Update URB partitioning code for Haswell's GT3 variant.</li>
<li>i965: Add chipset limits for the Haswell GT3 variant.</li>
<li>i965: Enable the Bay Trail platform.</li>
<li>mesa: Add a reverted commit to cherry-ignore.</li>
<li>vbo: Ignore PRIMITIVE_RESTART_FIXED_INDEX for glDrawArrays().</li>
<li>mesa: Add a helper function for determining the restart index.</li>
<li>vbo: Use the new primitive restart index helper function.</li>
<li>i965: Use the correct restart index for fixed index mode on Haswell.</li>
<li>mesa: Cherry-ignore a patch that got picked but squashed.</li>
<li>i965: Fix can_cut_index_handle_restart_index() for byte/short types.</li>
<li>st/mesa: Go back to using ctx-&gt;Array.RestartIndex, not _RestartIndex.</li>
<li>mesa: Ignore fixed-index primitive restart in ArrayElement().</li>
<li>mesa: Delete the ctx-&gt;Array._RestartIndex derived state.</li>
<li>glsl: Bail on parsing if the #version directive is bogus.</li>
</ul>
 
<p>Lauri Kasanen (1):</p>
<ul>
<li>r600g: Correctly initialize the shader key, v2</li>
</ul>
 
<p>Maarten Lankhorst (4):</p>
<ul>
<li>nvc0: fix up video buffer alignment requirements</li>
<li>nvc0: kill assert in ppp code</li>
<li>nvc0: set rsvd_kick correctly</li>
<li>nvc0: allow frame dropping in h264</li>
</ul>
 
<p>Marek Olšák (7):</p>
<ul>
<li>radeonsi: increase array size for shader inputs and outputs</li>
<li>vbo: fix possible use-after-free segfault after a VAO is deleted</li>
<li>glsl: fix the value of gl_MaxFragmentUniformVectors</li>
<li>st/mesa: initialize all program constants and UBO limits</li>
<li>st/mesa: initialize Const.MaxColorAttachments</li>
<li>st/mesa: fix a couple of issues in st_bind_ubos</li>
<li>mesa: declare UniformBufferBindings as an array with a static size</li>
</ul>
 
<p>Matt Turner (3):</p>
<ul>
<li>configure.ac: Remove redundant checks of enable_dri.</li>
<li>configure.ac: Build dricommon for DRI gallium drivers</li>
<li>i965: NULL check depth_mt to quiet static analysis.</li>
</ul>
 
<p>Michel Dänzer (3):</p>
<ul>
<li>radeonsi: Fix handling of TGSI_SEMANTIC_PSIZE</li>
<li>radeonsi: Fix user clip planes</li>
<li>mesa: Note that two radeonsi fixes cannot be backported after all</li>
</ul>
 
<p>Mike Stroyan (1):</p>
<ul>
<li>configure.ac: Build dricommon for gallium swrast</li>
</ul>
 
<p>Naohiro Aota (1):</p>
<ul>
<li>xmlpool/build: Make sure to set mo properly</li>
</ul>
 
<p>Paul Berry (2):</p>
<ul>
<li>glsl: Fix error checking on "flat" keyword to match GLSL ES 3.00, GLSL 1.50.</li>
<li>i965/gen7.5: Allow HW primitive restart for all primitive types.</li>
</ul>
 
<p>Paulo Zanoni (1):</p>
<ul>
<li>i965: make GT3 machines work as GT3 instead of GT2</li>
</ul>
 
<p>Rodrigo Vivi (2):</p>
<ul>
<li>i965: Add missing Haswell GT3 Desktop to IS_HSW_GT3 check.</li>
<li>i965: Adding more reserved PCI IDs for Haswell.</li>
</ul>
 
<p>Roland Scheidegger (1):</p>
<ul>
<li>gallivm: fix out-of-bounds access with mirror_clamp_to_edge address mode</li>
</ul>
 
<p>Stéphane Marchesin (2):</p>
<ul>
<li>st/xlib: Fix upside down coordinates for CopySubBuffer</li>
<li>st/xlib: Flush the front buffer before doing CopySubBuffer</li>
</ul>
 
<p>Sven Joachim (1):</p>
<ul>
<li>mesa: Fix ieee fp on Alpha</li>
</ul>
 
<p>Tapani Pälli (1):</p>
<ul>
<li>mesa: fix type comparison errors in sub-texture error checking code</li>
</ul>
 
<p>Tom Stellard (2):</p>
<ul>
<li>gallivm: Fix build with LLVM &gt;= r180063</li>
<li>r300g/compiler: Prevent regalloc from swizzling texture operands v2</li>
</ul>
 
<p>Vinson Lee (1):</p>
<ul>
<li>radeon: Initialize variables in radeon_llvm_context_init.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.1.5.html
0,0 → 1,140
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.1.5 Release Notes / July 17, 2013</h1>
 
<p>
Mesa 9.1.5 is a bug fix release which fixes bugs found since the 9.1.4 release.
</p>
<p>
Mesa 9.1 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
<h2>MD5 checksums</h2>
<pre>
4ed2af5943141a85a21869053a2fc2eb MesaLib-9.1.5.tar.bz2
47181066acf3231d74e027b2033f9455 MesaLib-9.1.5.tar.gz
4c9c6615bd99215325250f87ed34058f MesaLib-9.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=58384">Bug 58384</a> - [i965 Bisected]Oglc max_values(advanced.fragmentProgram.GL_MAX_PROGRAM_ENV_PARAMETERS_ARB) segfault</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62647">Bug 62647</a> - Wrong rendering of Dota 2 on Wine (apitrace attached) - Intel IVB HD4000</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=63674">Bug 63674</a> - [IVB]frozen at the first frame when run Unigine-heaven 4.0</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=65910">Bug 65910</a> - Killing weston-launch causes segv in desktop-shell</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-9.1.4..mesa-9.1.5
</pre>
 
<p>Anuj Phogat (1):</p>
<ul>
<li>mesa: Return ZeroVec/dummyReg instead of NULL pointer</li>
</ul>
 
<p>Brian Paul (1):</p>
<ul>
<li>svga: check for NaN shader immediates</li>
</ul>
 
<p>Carl Worth (3):</p>
<ul>
<li>cherry-ignore: Ignore previously backported patch</li>
<li>cherry-ignore: Drop two patches which we've decided not to include</li>
<li>mesa: Bump version to 9.1.5</li>
</ul>
 
<p>Chris Forbes (1):</p>
<ul>
<li>i965: fix alpha test for MRT</li>
</ul>
 
<p>Christoph Bumiller (1):</p>
<ul>
<li>r600g: x/y coordinates must be divided by block dim in dma blit</li>
</ul>
 
<p>Eric Anholt (1):</p>
<ul>
<li>ra: Fix register spilling.</li>
</ul>
 
<p>Ian Romanick (6):</p>
<ul>
<li>docs: Add 9.1.4 release md5sums</li>
<li>glsl: Add a gl_shader_program parameter to _mesa_uniform_{merge,split}_location_offset</li>
<li>glsl: Add gl_shader_program::UniformLocationBaseScale</li>
<li>glsl: Generate smaller values for uniform locations</li>
<li>i965: Be more careful with the interleaved user array upload optimization</li>
<li>glsl: Move all var decls to the front of the IR list in reverse order</li>
</ul>
 
<p>Kenneth Graunke (1):</p>
<ul>
<li>glsl/builtins: Fix ARB_texture_cube_map_array built-in availability.</li>
</ul>
 
<p>Kristian Høgsberg (1):</p>
<ul>
<li>wayland: Handle global_remove event as well</li>
</ul>
 
<p>Matt Turner (1):</p>
<ul>
<li>register_allocate: Fix the type of best_benefit.</li>
</ul>
 
<p>Paul Berry (1):</p>
<ul>
<li>glsl ES: Fix magnitude of gl_MaxVertexUniformVectors.</li>
</ul>
 
<p>Richard Sandiford (3):</p>
<ul>
<li>st/xlib Fix XIMage bytes-per-pixel calculation</li>
<li>st/xlib: Fix XImage stride calculation</li>
<li>st/dri/sw: Fix pitch calculation in drisw_update_tex_buffer</li>
</ul>
 
<p>Vinson Lee (1):</p>
<ul>
<li>swrast: Fix memory leak.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.1.6.html
0,0 → 1,168
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.1.6 Release Notes / August 1, 2013</h1>
 
<p>
Mesa 9.1.6 is a bug fix release which fixes bugs found since the 9.1.5 release.
</p>
<p>
Mesa 9.1 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
<h2>MD5 checksums</h2>
<pre>
443a2a352667294b53d56cb1a74114e9 MesaLib-9.1.6.tar.bz2
08d3069cccd6821e5f33e0840bca0718 MesaLib-9.1.6.tar.gz
90aa7a6d9878cdbfcb055312f356d6b9 MesaLib-9.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=47824">Bug 47824</a> - osmesa using --enable-shared-glapi depends on libgl</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62362">Bug 62362</a> - Crash when using Wayland EGL platform</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=63435">Bug 63435</a> - [Regression since 9.0] Flickering in EGL OpenGL full-screen window with swap interval 1</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64087">Bug 64087</a> - Webgl conformance shader-with-non-reserved-words crash when mesa is compiled without --enable-debug</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64330">Bug 64330</a> - WebGL snake demo crash in loop_analysis.cpp:506: bool is_loop_terminator(ir_if*): assertion „inst != __null“ failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=65236">Bug 65236</a> - [i965] Rendering artifacts in VDrift/GL2</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66558">Bug 66558</a> - RS690: 3D artifacts when playing SuperTuxKart</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66847">Bug 66847</a> - compilation broken with llvm 3.3</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66850">Bug 66850</a> - glGenerateMipmap crashes when using GL_TEXTURE_2D_ARRAY with compressed internal format</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66921">Bug 66921</a> - [r300g] Heroes of Newerth: HiZ related corruption</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67283">Bug 67283</a> - VDPAU doesn't work on hybrid laptop through DRI_PRIME</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-9.1.5..mesa-9.1.6
</pre>
 
<p>Andreas Boll (1):</p>
<ul>
<li>configure.ac: Require llvm-3.2 for r600g/radeonsi llvm backends</li>
</ul>
 
<p>Brian Paul (4):</p>
<ul>
<li>mesa: handle 2D texture arrays in get_tex_rgba_compressed()</li>
<li>meta: handle 2D texture arrays in decompress_texture_image()</li>
<li>mesa: implement mipmap generation for compressed 2D array textures</li>
<li>mesa: improve free() cleanup in generate_mipmap_compressed()</li>
</ul>
 
<p>Carl Worth (7):</p>
<ul>
<li>docs: Add 9.1.5 release md5sums</li>
<li>Merge 'origin/9.1' into stable</li>
<li>cherry-ignore: Drop 13 patches from the pick list</li>
<li>get-pick-list.sh: Include commits mentionining "CC: mesa-stable..." in pick list</li>
<li>get-pick-list: Allow for non-whitespace between "CC:" and "mesa-stable"</li>
<li>get-pick-list: Ignore commits which CC mesa-stable unless they say "9.1"</li>
<li>Bump version to 9.1.6</li>
</ul>
 
<p>Chris Forbes (5):</p>
<ul>
<li>i965/Gen4: Zero extra coordinates for ir_tex</li>
<li>i965/vs: Fix flaky texture swizzling</li>
<li>i965/vs: set up sampler state pointer for Gen4/5.</li>
<li>i965/vs: Put lod parameter in the correct place for Gen4</li>
<li>i965/vs: Gen4/5: enable front colors if back colors are written</li>
</ul>
 
<p>Christoph Bumiller (1):</p>
<ul>
<li>nv50,nvc0: s/uint16/uint32 for constant buffer offset</li>
</ul>
 
<p>Dave Airlie (1):</p>
<ul>
<li>gallium/vl: add prime support</li>
</ul>
 
<p>Eric Anholt (1):</p>
<ul>
<li>egl: Restore "bogus" DRI2 invalidate event code.</li>
</ul>
 
<p>Jeremy Huddleston Sequoia (1):</p>
<ul>
<li>Apple: glFlush() is not needed with CGLFlushDrawable()</li>
</ul>
 
<p>Kenneth Graunke (1):</p>
<ul>
<li>glsl: Classify "layout" like other identifiers.</li>
</ul>
 
<p>Kristian Høgsberg (1):</p>
<ul>
<li>egl-wayland: Fix left-over wl_display_roundtrip() usage</li>
</ul>
 
<p>Maarten Lankhorst (2):</p>
<ul>
<li>osmesa: link against static libglapi library too to get the gl exports</li>
<li>nvc0: force use of correct firmware file</li>
</ul>
 
<p>Marek Olšák (4):</p>
<ul>
<li>r300g/swtcl: fix geometry corruption by uploading indices to a buffer</li>
<li>r300g/swtcl: fix a lockup in MSAA resolve</li>
<li>Revert "r300g: allow HiZ with a 16-bit zbuffer"</li>
<li>r600g: increase array size for shader inputs and outputs</li>
</ul>
 
<p>Matt Turner (2):</p>
<ul>
<li>i965: NULL check prog on shader compilation failure.</li>
<li>i965/vs: Print error if vertex shader fails to compile.</li>
</ul>
 
<p>Paul Berry (1):</p>
<ul>
<li>glsl: Handle empty if statement encountered during loop analysis.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.1.html
0,0 → 1,83
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.1 Release Notes / February 22, 2013</h1>
 
<p>
Mesa 9.1 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 9.1.1.
</p>
<p>
Mesa 9.1 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
86d40f3056f89949368764bf84aff55e MesaLib-9.1.tar.gz
d3891e02215422e120271d976ff1947e MesaLib-9.1.tar.bz2
01645f28f53351c23b0beb6c688911d8 MesaLib-9.1.zip
</pre>
 
 
<h2>New features</h2>
 
<p>
Note: some of the new features are only available with certain drivers.
</p>
 
<ul>
<li>GL_ANGLE_texture_compression_dxt3</li>
<li>GL_ANGLE_texture_compression_dxt5</li>
<li>GL_ARB_ES3_compatibility</li>
<li>GL_ARB_internalformat_query</li>
<li>GL_ARB_map_buffer_alignment</li>
<li>GL_ARB_shading_language_packing</li>
<li>GL_ARB_texture_buffer_object_rgb32</li>
<li>GL_ARB_texture_cube_map_array</li>
<li>GL_EXT_color_buffer_float</li>
<li>GL_OES_depth_texture_cube_map</li>
<li>OpenGL 3.1 core profile support on Radeon HD2000 up to HD6000 series </li>
<li>Multisample anti-aliasing support on Radeon X1000 series</li>
<li>OpenGL ES 3.0 support on Intel HD Graphics 2000, 2500, 3000, and 4000</li>
</ul>
 
 
<h2>Bug fixes</h2>
 
<p>TBD -- This list is likely incomplete.</p>
 
 
<h2>Changes</h2>
 
<ul>
<li>Removed VAAPI state tracker (unmaintained and broken)</li>
<li>Removed i965's broken hardware implementation of GL_NV_vertex_program</li>
<li>Removed swrast support for GL_NV_vertex_program</li>
<li>Removed swrast support for GL_NV_fragment_program</li>
<li>Removed OpenVMS support (unmaintained and broken)</li>
<li>Removed makedepend build dependency</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.2.1.html
0,0 → 1,206
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.2.1 Release Notes / (October 4, 2013)</h1>
 
<p>
Mesa 9.2.1 is a bug fix release which fixes bugs found since the 9.2 release.
</p>
<p>
Mesa 9.2 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
e6cdfa84dfddd86e3d36ec7ff4b6478a MesaLib-9.2.1.tar.gz
dd4c82667d9c19c28a553b12eba3f8a0 MesaLib-9.2.1.tar.bz2
d9af0f5607f7d275793d293057ca9ac6 MesaLib-9.2.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=66779">Bug 66779</a> - Use of uninitialized stack variable with brw_search_cache()</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68233">Bug 68233</a> - Valgrind errors in mesa</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68250">Bug 68250</a> - Automatic mipmap generation with texture compression produces borders that fade to black</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68637">Bug 68637</a> - [Bisected IVB/HSW]Unigine demo crash</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68753">Bug 68753</a> - [regression bisected] GLSL ES: structs members can't have precision qualifiers anymore in 9.2</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69525">Bug 69525</a> - [GM45, bisected] Piglit tex-shadow2drect fails</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-9.2..mesa-9.2.1
</pre>
 
 
<p>Alex Deucher (1):</p>
<ul>
<li>radeon/winsys: pad IBs to a multiple of 8 DWs</li>
</ul>
 
<p>Andreas Boll (1):</p>
<ul>
<li>os: First check for __GLIBC__ and then for PIPE_OS_BSD</li>
</ul>
 
<p>Anuj Phogat (1):</p>
<ul>
<li>glsl: Allow precision qualifiers for sampler types</li>
</ul>
 
<p>Brian Paul (2):</p>
<ul>
<li>docs: minor fixes for 9.2 release notes</li>
<li>mesa: check for bufSize &gt; 0 in _mesa_GetSynciv()</li>
</ul>
 
<p>Carl Worth (3):</p>
<ul>
<li>cherry-ignore: Ignore a commit which appeared twice on master</li>
<li>Use -Bsymbolic when linking libEGL.so</li>
<li>mesa: Bump version to 9.2.1</li>
</ul>
 
<p>Chris Forbes (3):</p>
<ul>
<li>i965/fs: Gen4: Zero out extra coordinates when using shadow compare</li>
<li>i965: Fix cube array coordinate normalization</li>
<li>i965: fix bogus swizzle in brw_cubemap_normalize</li>
</ul>
 
<p>Christoph Bumiller (2):</p>
<ul>
<li>nvc0/ir: add f32 long immediate cannot saturate</li>
<li>nvc0: delete compute object on screen destruction</li>
</ul>
 
<p>Dave Airlie (1):</p>
<ul>
<li>st/mesa: don't dereference stObj-&gt;pt if NULL</li>
</ul>
 
<p>Dominik Behr (1):</p>
<ul>
<li>glsl: propagate max_array_access through function calls</li>
</ul>
 
<p>Emil Velikov (1):</p>
<ul>
<li>nouveau: initialise the nouveau_transfer maps</li>
</ul>
 
<p>Eric Anholt (4):</p>
<ul>
<li>mesa: Rip out more extension checking from texformat.c.</li>
<li>mesa: Don't choose S3TC for generic compression if we can't compress.</li>
<li>i965/gen4: Fix fragment program rectangle texture shadow compares.</li>
<li>i965: Reenable glBitmap() after the sRGB winsys enabling.</li>
</ul>
 
<p>Ian Romanick (7):</p>
<ul>
<li>docs: Add 9.2 release md5sums</li>
<li>Add .cherry-ignore file</li>
<li>mesa: Note that 89a665e should not be picked</li>
<li>glsl: Reallow precision qualifiers on structure members</li>
<li>mesa: Support GL_MAX_VERTEX_OUTPUT_COMPONENTS query with ES3</li>
<li>mesa: Remove all traces of GL_OES_matrix_get</li>
<li>mesa: Don't return any data for GL_SHADER_BINARY_FORMATS</li>
</ul>
 
<p>Ilia Mirkin (2):</p>
<ul>
<li>nv30: find first unused texcoord rather than bailing if first is used</li>
<li>nv30: fix inconsistent setting of push-&gt;user_priv</li>
</ul>
 
<p>Joakim Sindholt (1):</p>
<ul>
<li>nvc0: fix blitctx memory leak</li>
</ul>
 
<p>Johannes Obermayr (1):</p>
<ul>
<li>st/gbm: Add $(WAYLAND_CFLAGS) for HAVE_EGL_PLATFORM_WAYLAND.</li>
</ul>
 
<p>Kenneth Graunke (5):</p>
<ul>
<li>i965/vs: Detect GRF sources in split_virtual_grfs send-from-GRF code.</li>
<li>i965/fs: Detect GRF sources in split_virtual_grfs send-from-GRF code.</li>
<li>i965/vec4: Only zero out unused message components when there are any.</li>
<li>i965: Fix brw_vs_prog_data_compare to actually check field members.</li>
<li>meta: Set correct viewport and projection in decompress_texture_image.</li>
</ul>
 
<p>Maarten Lankhorst (2):</p>
<ul>
<li>st/dri: do not create a new context for msaa copy</li>
<li>nvc0: restore viewport after blit</li>
</ul>
 
<p>Marek Olšák (2):</p>
<ul>
<li>r600g: fix constant buffer cache flushing</li>
<li>r600g: fix texture buffer object cache flushing</li>
</ul>
 
<p>Paul Berry (1):</p>
<ul>
<li>i965: Initialize inout_offset parameter to brw_search_cache().</li>
</ul>
 
<p>Rico Schüller (1):</p>
<ul>
<li>glx: Initialize OpenGL version to 1.0</li>
</ul>
 
<p>Tiziano Bacocco (1):</p>
<ul>
<li>nvc0/ir: fix use after free in texture barrier insertion pass</li>
</ul>
 
<p>Torsten Duwe (1):</p>
<ul>
<li>wayland-egl.pc requires wayland-client.pc.</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.2.2.html
0,0 → 1,97
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.2.2 Release Notes / (October 18, 2013)</h1>
 
<p>
Mesa 9.2.2 is a bug fix release which fixes bugs found since the 9.2.1 release.
</p>
<p>
Mesa 9.2 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
</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=69449">Bug 69449</a> - Valgrind error in program_resource_visitor::recursion</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70411">Bug 70411</a> - glInvalidateFramebuffer fails with GL_INVALID_ENUM</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-9.2.1..mesa-9.2.2
</pre>
 
<p>Brian Paul (3):</p>
<ul>
<li>docs: add missing &lt;pre&gt; tag</li>
<li>svga: fix incorrect memcpy src in svga_buffer_upload_piecewise()</li>
<li>mesa: consolidate cube width=height error checking</li>
</ul>
 
<p>Carl Worth (3):</p>
<ul>
<li>docs: Add md5sums for 9.2.1 release</li>
<li>Bump version to 9.2.2</li>
</ul>
 
<p>Constantin Baranov (1):</p>
<ul>
<li>mesa: Add missing switch break in invalidate_framebuffer_storage()</li>
</ul>
 
<p>Eric Anholt (3):</p>
<ul>
<li>i965: Don't forget the cube map padding on gen5+.</li>
<li>mesa: Fix compiler warnings when ALIGN's alignment is "1 &lt;&lt; value".</li>
<li>i965: Fix 3D texture layout by more literally copying from the spec.</li>
</ul>
 
<p>Francisco Jerez (1):</p>
<ul>
<li>glsl: Fix usage of the wrong union member in program_resource_visitor::recursion.</li>
</ul>
 
<p>Tom Stellard (1):</p>
<ul>
<li>radeonsi: Use 'SI' as the LLVM processor for CIK on LLVM &lt;= 3.3</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes/9.2.html
0,0 → 1,226
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="../contents.html"></iframe>
<div class="content">
 
<h1>Mesa 9.2 Release Notes / (August 27, 2013)</h1>
 
<p>
Mesa 9.2 is a new development release.
People who are concerned with stability and reliability should stick
with a previous release or wait for Mesa 9.2.1.
</p>
<p>
Mesa 9.2 implements the OpenGL 3.1 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.1. OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>
 
 
<h2>MD5 checksums</h2>
<pre>
4f93c6475ec656fc1f7b93aeffc9b6c4 MesaLib-9.2.0.tar.gz
4185b6aae890bc62a964f4b24cc1aca8 MesaLib-9.2.0.tar.bz2
3bc5339bc98b9c37777ffd14e3a8eca4 MesaLib-9.2.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_shading_language_420pack in all drivers that support GLSL 1.30.</li>
<li>GL_ARB_texture_buffer_range</li>
<li>GL_ARB_texture_multisample</li>
<li>GL_ARB_texture_storage_multisample</li>
<li>GL_ARB_texture_query_lod</li>
<li>GL_ARB_texture_storage on radeon, r200, and nouveau</li>
<li>GL_EXT_discard_framebuffer in all OpenGL ES (all versions) drivers</li>
<li>GL_EXT_framebuffer_multisample_blit_scaled on i965</li>
<li>Added new freedreno gallium driver</li>
<li>OSMesa interface for gallium llvmpipe/softpipe drivers</li>
<li>Gallium Heads-Up Display (HUD) feature for performance monitoring</li>
<li>Added support for UVD (2.2 and 3.0) video decoding on r600g and radeonsi through VDPAU (requires Kernel 3.10 or later)</li>
</ul>
 
 
<h2>Bug fixes</h2>
 
<p>Attempts have been made to <b>not</b> include bugs fixed in previous 9.1
releases or bugs that were regressions during 9.2 development. This list is
likely incomplete.</p>
 
<ul>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41787">Bug 41787</a> - [llvmpipe] stencil broken</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44618">Bug 44618</a> - Cross-compilation broken by glsl builtin_compiler</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46632">Bug 46632</a> - Make the alignment checks for the readpixel blit fastpath a bit more lenient</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47116">Bug 47116</a> - Enemy territory freezes with rs880 and commit fbebd431ec4e2e461a0cbcd5f3a04a000b8f6bbf</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47248">Bug 47248</a> - autogen missing dependency on flex and bison, causes infinite loop in glsl build</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48694">Bug 48694</a> - radeonsi_pipe.c:322:7: error: ‘PIPE_CAP_DUAL_SOURCE_BLEND’ undeclared</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=50655">Bug 50655</a> - [r600g][RV670 HD3870] Ioquake games causes GPU lockup (waiting for 0x00003039 last fence id 0x00003030)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=51471">Bug 51471</a> - [965gm] Corrupted graphics in corners of screen with pixel shaders enabled</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=51782">Bug 51782</a> - mesa-8.0.3: fails to compile against uclibc</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54240">Bug 54240</a> - [swrast] piglit fbo-generatemipmap-filtering regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=55503">Bug 55503</a> - Constant vertex attributes broken</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=55783">Bug 55783</a> - glEnable(GL_FRAMEBUFFER_SRGB) has no effect on the backbuffer</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=55825">Bug 55825</a> - [Bisected i965]Oglc max_values(advanced.fragmentProgram.GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB) causes OOM-killer</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56920">Bug 56920</a> - [sandybridge][uxa] graphics very glitchy and always flickering</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57753">Bug 57753</a> - leak in loop_analysis</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57875">Bug 57875</a> - Second Life viewer bad rendering with git-ec83535</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58666">Bug 58666</a> - rv670 + llvm = errors.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58680">Bug 58680</a> - [IVB] Graphical glitches in 0 A.D</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58872">Bug 58872</a> - Mac OS X configure: error: Couldn't find clock_gettime</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59322">Bug 59322</a> - r300g MSAA breaks Half-Life 2 in Wine</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59364">Bug 59364</a> - [bisected] Mesa build fails: clientattrib.c:33:22: fatal error: indirect.h: No such file or directory</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59439">Bug 59439</a> - glCopyPixels generates no fragments (occlusion_query_meta_fragments test fails)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59440">Bug 59440</a> - glBitmap generates no fragments (occlusion_query_meta_fragments test fails)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59494">Bug 59494</a> - [Bisected]Piglit glean_depthStencil fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59592">Bug 59592</a> - Radeon HD 5670: reproducable GPU lockups with htile enabled</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59648">Bug 59648</a> - [SNB/IVB/HSW Bisected]Piglit spec/ARB_uniform_buffer/object_layout-std140-base-size-and-alignment fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59701">Bug 59701</a> - lp_test_arit fails on non-sse41 capable machines, breaking make check</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59737">Bug 59737</a> - [bisected] 0d108116bd80b757fb01a84a9f1946ef870b57b8 breaks osmesa when cross compiling</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59740">Bug 59740</a> - [i965 Bisected]Oglc api-error(negative.glEvalMesh) fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59851">Bug 59851</a> - AC_ARG_WITH misusage leading to mesa configure failure</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59873">Bug 59873</a> - [swrast] piglit ext_framebuffer_multisample-interpolation 0 centroid-edges regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59876">Bug 59876</a> - glGetTexLevelParameteriv broken for indirect rendering</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60038">Bug 60038</a> - [osmesa] [git] building 32-bit mesa on 64 bit fails</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60047">Bug 60047</a> - [softpipe] piglit masked-clear regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60052">Bug 60052</a> - [Bisected]Piglit glx_extension_string_sanity fail</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60082">Bug 60082</a> - [ FAILED ] DispatchSanity_test.GL31_CORE</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60086">Bug 60086</a> - Wayland platform backend crashes if there's no back buffer during dri2_swap_buffers</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60098">Bug 60098</a> - [softpipe] Unexpected PIPE_CAP 78 query</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60172">Bug 60172</a> - Planeshift: triangles where grass would be</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60200">Bug 60200</a> - radeon_bo with virtual address referencing mismatch</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60212">Bug 60212</a> - [Bisected] Weston black output</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60524">Bug 60524</a> - [softpipe] piglit depthstencil-render-miplevels 146 s=z24_s8 regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60527">Bug 60527</a> - [softpipe] fbo-stencil GL_DEPTH24_STENCIL8 clear regression</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60633">Bug 60633</a> - EXT_texture_sRGB does not work in game The Cave on IvyBridge</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60737">Bug 60737</a> - In GLSL ES, a missing FS precision qualifier does not generate an error</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60866">Bug 60866</a> - GLSL performance issues for uniform buffer objects</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61036">Bug 61036</a> - Shader fails to build in LLVMpipe, aborts program</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61200">Bug 61200</a> - insufficient linking of libxatracker.so</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61635">Bug 61635</a> - glVertexAttribPointer(id, GL_UNSIGNED_BYTE, GL_FALSE,...) does not work</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62466">Bug 62466</a> - r600g hyperz lockups with KSP 0.19</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62669">Bug 62669</a> - HyperZ freeze when playing PrBoom-Plus demo with lots of monsters</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62721">Bug 62721</a> - GPU lockup in Minecraft 1.5.1 with HyperZ</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62830">Bug 62830</a> - [i965 bisected] Wrong Lightning on Freespace 2 SCP (patch attached)</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=63124">Bug 63124</a> - [r600g] HyperZ lockup on REDWOOD in Half Life 2 Deathmatch</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=63702">Bug 63702</a> - tiling2d in radeon trash vdpau UVD textures</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64935">Bug 64935</a> - [swrast] s_texfetch.c:1335: set_fetch_functions: Assertion `texImage-&gt;FetchTexel' failed.</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64959">Bug 64959</a> - Cannot build against EGL without X11</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=65112">Bug 65112</a> - glcpp hangs parsing line continuations</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=65958">Bug 65958</a> - GPU Lockup on Trinity 7500G</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66450">Bug 66450</a> - JUNIPER UVD accelerated playback of MPEG 1/2 streams does not work</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66606">Bug 66606</a> - [i965 bisected]GLBenchmark 2.5.1/2.7.0 sometimes render error with gnome-session enabling SNA</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66713">Bug 66713</a> - Team Fortress 2 crashes with r600-sb on HD4850</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67354">Bug 67354</a> - glsl_parser.cpp is broken with bison 3.0</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67548">Bug 67548</a> - glGetAttribLocation seems to be broken</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67927">Bug 67927</a> - R600_DEBUG=sb: Celestia show 2 earths, one wrongly rendered</li>
 
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67934">Bug 67934</a> - [SNB/IVB/HSW 9.2 Bisected]Ogles2conform/GL2Tests/glUniform/glUniform.test fails with gnome-session enable compositing</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=68195">Bug 68195</a> - piglit tests vs-struct-pad and fs-struct-pad both fail</li>
 
</ul>
 
<h2>Changes</h2>
 
<ul>
<li>Removed d3d1x state tracker (unused, unmaintained and broken)</li>
<li>Removed GL_EXT_clip_volume_hint because no driver had enabled it since
2007.</li>
<li>Removed GL_MESA_resize_buffers because it was only really implemented by
the (unsupported) GDI driver.</li>
<li>GL_EXT_separate_shader_objects has been removed from all Gallium drivers,
because it disallows a critical GLSL shader optimization.
GL_ARB_separate_shader_objects doesn't have this issue.</li>
<li>i965 Gen6+ requires Kernel 3.6 or later. (92d2f5a)</li>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/relnotes.html
0,0 → 1,120
<!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">
<h1>The Mesa 3D Graphics Library</h1>
</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/9.2.html">9.2 release notes</a>
<li><a href="relnotes/9.1.6.html">9.1.6 release notes</a>
<li><a href="relnotes/9.1.5.html">9.1.5 release notes</a>
<li><a href="relnotes/9.1.4.html">9.1.4 release notes</a>
<li><a href="relnotes/9.1.3.html">9.1.3 release notes</a>
<li><a href="relnotes/9.1.2.html">9.1.2 release notes</a>
<li><a href="relnotes/9.1.1.html">9.1.1 release notes</a>
<li><a href="relnotes/9.1.html">9.1 release notes</a>
<li><a href="relnotes/9.0.3.html">9.0.3 release notes</a>
<li><a href="relnotes/9.0.2.html">9.0.2 release notes</a>
<li><a href="relnotes/9.0.1.html">9.0.1 release notes</a>
<li><a href="relnotes/9.0.html">9.0 release notes</a>
<li><a href="relnotes/8.0.5.html">8.0.5 release notes</a>
<li><a href="relnotes/8.0.4.html">8.0.4 release notes</a>
<li><a href="relnotes/8.0.3.html">8.0.3 release notes</a>
<li><a href="relnotes/8.0.2.html">8.0.2 release notes</a>
<li><a href="relnotes/8.0.1.html">8.0.1 release notes</a>
<li><a href="relnotes/8.0.html">8.0 release notes</a>
<li><a href="relnotes/7.11.2.html">7.11.2 release notes</a>
<li><a href="relnotes/7.11.1.html">7.11.1 release notes</a>
<li><a href="relnotes/7.11.html">7.11 release notes</a>
<li><a href="relnotes/7.10.3.html">7.10.3 release notes</a>
<li><a href="relnotes/7.10.2.html">7.10.2 release notes</a>
<li><a href="relnotes/7.10.1.html">7.10.1 release notes</a>
<li><a href="relnotes/7.10.html">7.10 release notes</a>
<li><a href="relnotes/7.9.2.html">7.9.2 release notes</a>
<li><a href="relnotes/7.9.1.html">7.9.1 release notes</a>
<li><a href="relnotes/7.9.html">7.9 release notes</a>
<li><a href="relnotes/7.8.3.html">7.8.3 release notes</a>
<li><a href="relnotes/7.8.2.html">7.8.2 release notes</a>
<li><a href="relnotes/7.8.1.html">7.8.1 release notes</a>
<li><a href="relnotes/7.8.html">7.8 release notes</a>
<li><a href="relnotes/7.7.1.html">7.7.1 release notes</a>
<li><a href="relnotes/7.7.html">7.7 release notes</a>
<li><a href="relnotes/7.6.1.html">7.6.1 release notes</a>
<li><a href="relnotes/7.6.html">7.6 release notes</a>
<li><a href="relnotes/7.5.2.html">7.5.2 release notes</a>
<li><a href="relnotes/7.5.1.html">7.5.1 release notes</a>
<li><a href="relnotes/7.5.html">7.5 release notes</a>
<li><a href="relnotes/7.4.4.html">7.4.4 release notes</a>
<li><a href="relnotes/7.4.3.html">7.4.3 release notes</a>
<li><a href="relnotes/7.4.2.html">7.4.2 release notes</a>
<li><a href="relnotes/7.4.1.html">7.4.1 release notes</a>
<li><a href="relnotes/7.4.html">7.4 release notes</a>
<li><a href="relnotes/7.3.html">7.3 release notes</a>
<li><a href="relnotes/7.2.html">7.2 release notes</a>
<li><a href="relnotes/7.1.html">7.1 release notes</a>
<li><a href="relnotes/7.0.4.html">7.0.4 release notes</a>
<li><a href="relnotes/7.0.3.html">7.0.3 release notes</a>
<li><a href="relnotes/7.0.2.html">7.0.2 release notes</a>
<li><a href="relnotes/7.0.1.html">7.0.1 release notes</a>
<li><a href="relnotes/7.0.html">7.0 release notes</a>
<li><a href="relnotes/6.5.3.html">6.5.3 release notes</a>
<li><a href="relnotes/6.5.2.html">6.5.2 release notes</a>
<li><a href="relnotes/6.5.1.html">6.5.1 release notes</a>
<li><a href="relnotes/6.5.html">6.5 release notes</a>
<li><a href="relnotes/6.4.2.html">6.4.2 release notes</a>
<li><a href="relnotes/6.4.1.html">6.4.1 release notes</a>
<li><a href="relnotes/6.4.html">6.4 release notes</a>
</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><a href="relnotes/6.3.1">6.3.1 release notes</a>
<li><a href="relnotes/6.3">6.3 release notes</a>
<li><a href="relnotes/6.2.1">6.2.1 release notes</a>
<li><a href="relnotes/6.2">6.2 release notes</a>
<li><a href="relnotes/6.1">6.1 release notes</a>
<li><a href="relnotes/6.0.1">6.0.1 release notes</a>
<li><a href="relnotes/6.0">6.0 release notes</a>
<li><a href="relnotes/5.1">5.1 release notes</a>
<li><a href="relnotes/5.0.2">5.0.2 release notes</a>
<li><a href="relnotes/5.0.1">5.0.1 release notes</a>
<li><a href="relnotes/5.0">5.0 release notes</a>
<li><a href="relnotes/4.1">4.1 release notes</a>
<li><a href="relnotes/4.0.3">4.0.3 release notes</a>
<li><a href="relnotes/4.0.2">4.0.2 release notes</a>
<li><a href="relnotes/4.0.1">4.0.1 release notes</a>
<li><a href="relnotes/4.0">4.0 release notes</a>
<li><a href="relnotes/3.5">3.5 release notes</a>
<li><a href="relnotes/3.4.2">3.4.2 release notes</a>
<li><a href="relnotes/3.4.1">3.4.1 release notes</a>
<li><a href="relnotes/3.4">3.4 release notes</a>
<li><a href="relnotes/3.3">3.3 release notes</a>
<li><a href="relnotes/3.2.1">3.2.1 release notes</a>
<li><a href="relnotes/3.2">3.2 release notes</a>
<li><a href="relnotes/3.1">3.1 release notes</a>
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/repository.html
0,0 → 1,225
<!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>Code Repository</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Code Repository</h1>
 
<p>
Mesa uses <a href="http://git-scm.com">git</a>
as its source code management system.
</p>
 
<p>
The master git repository is hosted on
<a href="http://www.freedesktop.org">freedesktop.org</a>.
</p>
 
<p>
You may access the repository either as an
<a href="#anonymous">anonymous user</a> (read-only) or as a
<a href="#developer">developer</a>
(read/write).
</p>
 
<p>
You may also
<a href="http://cgit.freedesktop.org/mesa/mesa/"
>browse the main Mesa git repository</a> and the
<a href="http://cgit.freedesktop.org/mesa/demos"
>Mesa demos and tests git repository</a>.
</p>
 
 
<h2 id="anonymous">Anonymous git Access</h2>
 
<p>
To get the Mesa sources anonymously (read-only):
</p>
 
<ol>
<li>Install the git software on your computer if needed.<br><br>
<li>Get an initial, local copy of the repository with:
<pre>
git clone git://anongit.freedesktop.org/git/mesa/mesa
</pre>
<li>Later, you can update your tree from the master repository with:
<pre>
git pull origin
</pre>
<li>If you also want the Mesa demos/tests repository:
<pre>
git clone git://anongit.freedesktop.org/git/mesa/demos
</pre>
</ol>
 
 
<h2 id="developer">Developer git Access</h2>
 
<p>
Mesa developers need to first have an account on
<a href="http://www.freedesktop.org">freedesktop.org</a>.
To get an account, please ask Brian or the other Mesa developers for
permission.
Then, if there are no objections, follow this
<a href="http://www.freedesktop.org/wiki/AccountRequests">
procedure</a>.
</p>
 
<p>
Once your account is established:
</p>
 
<ol>
<li>Install the git software on your computer if needed.<br><br>
<li>Get an initial, local copy of the repository with:
<pre>
git clone git+ssh://username@git.freedesktop.org/git/mesa/mesa
</pre>
Replace <em>username</em> with your actual login name.<br><br>
<li>Later, you can update your tree from the master repository with:
<pre>
git pull origin
</pre>
<li>If you also want the Mesa demos/tests repository:
<pre>
git clone git+ssh://username@git.freedesktop.org/git/mesa/demos
</pre>
</ol>
 
 
<h2>Windows Users</h2>
 
<p>
If you're <a href="http://git.wiki.kernel.org/index.php/WindowsInstall">
using git on Windows</a> you'll want to enable automatic CR/LF conversion in
your local copy of the repository:
</p>
<pre>
git config --global core.autocrlf true
</pre>
 
<p>
This will cause git to convert all text files to CR+LF on checkout,
and to LF on commit.
</p>
<p>
Unix users don't need to set this option.
</p>
<br>
 
 
<h2>Development Branches</h2>
 
<p>
At any given time, there may be several active branches in Mesa's
repository.
Generally, the trunk contains the latest development (unstable)
code while a branch has the latest stable code.
</p>
 
<p>
The command <code>git-branch</code> will list all available branches.
</p>
 
<p>
Questions about branch status/activity should be posted to the
mesa3d-dev mailing list.
</p>
 
<h2>Developer Git Tips</h2>
 
<ol>
<li>Setting up to edit the master branch
<p>
If you try to do a pull by just saying<code> git pull </code>
and git complains that you have not specified a
branch, try:
<pre>
git config branch.master.remote origin
git config branch.master.merge master
</pre>
<p>
Otherwise, you have to say<code> git pull origin master </code>
each time you do a pull.
</p>
<li>Small changes to master
<p>
If you are an experienced git user working on substancial modifications,
you are probably
working on a separate branch and would rebase your branch prior to
merging with master.
But for small changes to the master branch itself,
you also need to use the rebase feature in order to avoid an
unnecessary and distracting branch in master.
</p>
<p>
If it has been awhile since you've done the initial clone, try
<pre>
git pull
</pre>
<p>
to get the latest files before you start working.
</p>
<p>
Make your changes and use
<pre>
git add &lt;files to commit&gt;
git commit
</pre>
<p>
to get your changes ready to push back into the fd.o repository.
</p>
<p>
It is possible (and likely) that someone has changed master since
you did your last pull. Even if your changes do not conflict with
their changes, git will make a fast-forward
merge branch, branching from the point in time
where you did your last pull and merging it to a point after the other changes.
</p>
<p>
To avoid this,
<pre>
git pull --rebase
git push
</pre>
<p>
If you are familiar with CVS or similar system, this is similar to doing a
<code> cvs update </code> in order to update your source tree to
the current repository state, instead of the time you did the last update.
(CVS doesn't work like git in this respect, but this is easiest way
to explain it.)
<br>
In any case, your repository now looks like you made your changes after
all the other changes.
</p>
<p>
If the rebase resulted in conflicts or changes that could affect
the proper operation of your changes, you'll need to investigate
those before doing the push.
</p>
<p>
If you want the rebase action to be the default action, then
<pre>
git config branch.master.rebase true
git config --global branch.autosetuprebase=always
</pre>
<p>
See <a href="http://www.eecs.harvard.edu/~cduan/technical/git/">Understanding Git Conceptually</a> for a fairly clear explanation about all of this.
</p>
</ol>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/shading.html
0,0 → 1,261
<!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>Shading Language Support</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Shading Language Support</h1>
 
<p>
This page describes the features and status of Mesa's support for the
<a href="http://opengl.org/documentation/glsl/">
OpenGL Shading Language</a>.
</p>
 
<p>
Contents
</p>
<ul>
<li><a href="#envvars">Environment variables</a>
<li><a href="#support">GLSL 1.40 support</a>
<li><a href="#unsup">Unsupported Features</a>
<li><a href="#notes">Implementation Notes</a>
<li><a href="#hints">Programming Hints</a>
<li><a href="#standalone">Stand-alone GLSL Compiler</a>
<li><a href="#implementation">Compiler Implementation</a>
<li><a href="#validation">Compiler Validation</a>
</ul>
 
 
<h2 id="envvars">Environment Variables</h2>
 
<p>
The <b>MESA_GLSL</b> environment variable can be set to a comma-separated
list of keywords to control some aspects of the GLSL compiler and shader
execution. These are generally used for debugging.
</p>
<ul>
<li><b>dump</b> - print GLSL shader code to stdout at link time
<li><b>log</b> - log all GLSL shaders to files.
The filenames will be "shader_X.vert" or "shader_X.frag" where X
the shader ID.
<li><b>nopt</b> - disable compiler optimizations
<li><b>opt</b> - force compiler optimizations
<li><b>uniform</b> - print message to stdout when glUniform is called
<li><b>nopvert</b> - force vertex shaders to be a simple shader that just transforms
the vertex position with ftransform() and passes through the color and
texcoord[0] attributes.
<li><b>nopfrag</b> - force fragment shader to be a simple shader that passes
through the color attribute.
<li><b>useprog</b> - log glUseProgram calls to stderr
</ul>
<p>
Example: export MESA_GLSL=dump,nopt
</p>
 
 
<h2 id="support">GLSL Version</h2>
 
<p>
The GLSL compiler currently supports version 1.40 of the shading language.
</p>
 
<p>
Several GLSL extensions are also supported:
</p>
<ul>
<li>GL_ARB_draw_buffers
<li>GL_ARB_fragment_coord_conventions
<li>GL_ARB_shader_bit_encoding
</ul>
 
 
<h2 id="unsup">Unsupported Features</h2>
 
<p>XXX update this section</p>
 
<p>
The following features of the shading language are not yet fully supported
in Mesa:
</p>
 
<ul>
<li>Linking of multiple shaders does not always work. Currently, linking
is implemented through shader concatenation and re-compiling. This
doesn't always work because of some #pragma and preprocessor issues.
<li>The gl_Color and gl_SecondaryColor varying vars are interpolated
without perspective correction
</ul>
 
<p>
All other major features of the shading language should function.
</p>
 
 
<h2 id="notes">Implementation Notes</h2>
 
<ul>
<li>Shading language programs are compiled into low-level programs
very similar to those of GL_ARB_vertex/fragment_program.
<li>All vector types (vec2, vec3, vec4, bvec2, etc) currently occupy full
float[4] registers.
<li>Float constants and variables are packed so that up to four floats
can occupy one program parameter/register.
<li>All function calls are inlined.
<li>Shaders which use too many registers will not compile.
<li>The quality of generated code is pretty good, register usage is fair.
<li>Shader error detection and reporting of errors (InfoLog) is not
very good yet.
<li>The ftransform() function doesn't necessarily match the results of
fixed-function transformation.
</ul>
 
<p>
These issues will be addressed/resolved in the future.
</p>
 
 
<h2 id="hints">Programming Hints</h2>
 
<ul>
<li>Use the built-in library functions whenever possible.
For example, instead of writing this:
<pre>
float x = 1.0 / sqrt(y);
</pre>
Write this:
<pre>
float x = inversesqrt(y);
</pre>
</li>
</ul>
 
 
<h2 id="standalone">Stand-alone GLSL Compiler</h2>
 
<p>
The stand-alone GLSL compiler program can be used to compile GLSL shaders
into low-level GPU code.
</p>
 
<p>
This tool is useful for:
</p>
<ul>
<li>Inspecting GPU code to gain insight into compilation
<li>Generating initial GPU code for subsequent hand-tuning
<li>Debugging the GLSL compiler itself
</ul>
 
<p>
After building Mesa, the compiler can be found at src/glsl/glsl_compiler
</p>
 
<p>
Here's an example of using the compiler to compile a vertex shader and
emit GL_ARB_vertex_program-style instructions:
</p>
<pre>
src/glsl/glsl_compiler --dump-ast myshader.vert
</pre>
 
Options include
<ul>
<li><b>--dump-ast</b> - dump GPU code
<li><b>--dump-hir</b> - dump high-level IR code
<li><b>--dump-lir</b> - dump low-level IR code
<li><b>--link</b> - ???
</ul>
 
 
<h2 id="implementation">Compiler Implementation</h2>
 
<p>
The source code for Mesa's shading language compiler is in the
<code>src/glsl/</code> directory.
</p>
 
<p>
XXX provide some info about the compiler....
</p>
 
<p>
The final vertex and fragment programs may be interpreted in software
(see prog_execute.c) or translated into a specific hardware architecture
(see drivers/dri/i915/i915_fragprog.c for example).
</p>
 
<h3>Code Generation Options</h3>
 
<p>
Internally, there are several options that control the compiler's code
generation and instruction selection.
These options are seen in the gl_shader_state struct and may be set
by the device driver to indicate its preferences:
 
<pre>
struct gl_shader_state
{
...
/** Driver-selectable options: */
GLboolean EmitHighLevelInstructions;
GLboolean EmitCondCodes;
GLboolean EmitComments;
};
</pre>
 
<dl>
<dt>EmitHighLevelInstructions</dt>
<dd>
This option controls instruction selection for loops and conditionals.
If the option is set high-level IF/ELSE/ENDIF, LOOP/ENDLOOP, CONT/BRK
instructions will be emitted.
Otherwise, those constructs will be implemented with BRA instructions.
</dd>
 
<dt>EmitCondCodes</dt>
<dd>
If set, condition codes (ala GL_NV_fragment_program) will be used for
branching and looping.
Otherwise, ordinary registers will be used (the IF instruction will
examine the first operand's X component and do the if-part if non-zero).
This option is only relevant if EmitHighLevelInstructions is set.
</dd>
 
<dt>EmitComments</dt>
<dd>
If set, instructions will be annoted with comments to help with debugging.
Extra NOP instructions will also be inserted.
</dd>
</dl>
 
 
<h2 id="validation">Compiler Validation</h2>
 
<p>
Developers working on the GLSL compiler should test frequently to avoid
regressions.
</p>
 
<p>
The <a href="http://piglit.freedesktop.org/">Piglit</a> project
has many GLSL tests.
</p>
 
<p>
The Mesa demos repository also has some good GLSL tests.
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/sourcedocs.html
0,0 → 1,46
<!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>Source Code Documentation</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Source Code Documentation</h1>
 
<p>
<a href="http://www.doxygen.org">Doxygen</a>
is used to automatically
produce cross-referenced documentation from the Mesa source code.
</p>
 
<p>
The Doxygen configuration files and generated files are not included
in the normal Mesa distribution (they're very large).
To generate Doxygen documentation, download Mesa from git, change to
the <code>doxygen</code> directory and run <code>make</code>.
</P>
 
<p>
For an example of Doxygen usage in Mesa, see a recent source file
such as <a href="http://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/main/bufferobj.c">bufferobj.c</a>.
</p>
 
 
<p>
If you're reading this page from your local copy of Mesa, and have
run the doxygen scripts, you can read the documentation
<a href="../doxygen/main/index.html">here</a>
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/sourcetree.html
0,0 → 1,164
<!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 Source Tree</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Mesa source code tree overview</h1>
 
<p>
This is a brief summary of Mesa's directory tree and what's contained in
each directory.
</p>
 
 
<ul>
<li><b>docs</b> - Documentation
<li><b>include</b> - Public OpenGL header files
<li><b>src</b>
<ul>
<li><b>egl</b> - EGL library sources
<ul>
<li><b>docs</b> - EGL documentation
<li><b>drivers</b> - EGL drivers
<li><b>main</b> - main EGL library implementation. This is where all
the EGL API functions are implemented, like eglCreateContext().
</ul>
<li><b>glsl</b> - the GLSL compiler
<li><b>mapi</b> - Mesa APIs
<li><b>glapi</b> - OpenGL API dispatch layer. This is where all the
GL entrypoints like glClear, glBegin, etc. are generated, as well as
the GL dispatch table. All GL function calls jump through the
dispatch table to functions found in main/.
<li><b>mesa</b> - Main Mesa sources
<ul>
<li><b>main</b> - The core Mesa code (mainly state management)
<li><b>drivers</b> - Mesa drivers (not used with Gallium)
<ul>
<li><b>common</b> - code which may be shared by all drivers
<li><b>dri</b> - Direct Rendering Infrastructure drivers
<ul>
<li><b>common</b> - code shared by all DRI drivers
<li><b>i915</b> - driver for Intel i915/i945
<li><b>i965</b> - driver for Intel i965
<li><b>radeon</b> - driver for ATI R100
<li><b>r200</b> - driver for ATI R200
<li>XXX more
</ul>
<li><b>x11</b> - Xlib-based software driver
<li><b>osmesa</b> - off-screen software driver
<li>XXX more
</ul>
<li><b>es</b> - OpenGL ES overlay, parallelly buildable with the core Mesa
<li><b>math</b> - vertex array translation and transformation code
(not used with Gallium)
<li><b>program</b> - Vertex/fragment shader and GLSL compiler code
<li><b>sparc</b> - Assembly code/optimizations for SPARC systems
(not used with Gallium)
<li><b>state_tracker</b> - State tracker / driver for Gallium. This
is basically a Mesa device driver that speaks to Gallium. This
directory may be moved to src/mesa/drivers/gallium at some point.
<li><b>swrast</b> - Software rasterization module. For drawing points,
lines, triangles, bitmaps, images, etc. in software.
(not used with Gallium)
<li><b>swrast_setup</b> - Software primitive setup. Does things like
polygon culling, glPolygonMode, polygon offset, etc.
(not used with Gallium)
<li><b>tnl</b> - Software vertex Transformation 'n Lighting.
(not used with Gallium)
<li><b>tnl_dd</b> - TNL code for device drivers.
(not used with Gallium)
<li><b>vbo</b> - Vertex Buffer Object code. All drawing with
glBegin/glEnd, glDrawArrays, display lists, etc. goes through this
module. The results is a well-defined set of vertex arrays which
are passed to the device driver (or tnl module) for rendering.
<li><b>x86</b> - Assembly code/optimizations for 32-bit x86 systems
(not used with Gallium)
<li><b>x86-64</b> - Assembly code/optimizations for 64-bit x86 systems
(not used with Gallium)
</ul>
<li><b>gallium</b> - Gallium3D source code
<ul>
<li><b>include</b> - Gallium3D header files which define the Gallium3D
interfaces
<li><b>drivers</b> - Gallium3D device drivers
<ul>
<li><b>i915</b> - Driver for Intel i915/i945.
<li><b>llvmpipe</b> - Software driver using LLVM for runtime code generation.
<li><b>nv*</b> - Drivers for NVIDIA GPUs.
<li><b>radeonsi</b> - Driver for AMD Southern Island.
<li><b>r300</b> - Driver for ATI R300 - R500.
<li><b>r600</b> - Driver for ATI/AMD R600 - Northern Island.
<li><b>softpipe</b> - Software reference driver.
<li><b>svga</b> - Driver for VMware's SVGA virtual GPU.
<li><b>trace</b> - Driver for tracing Gallium calls.
<li>XXX more
</ul>
<li><b>auxiliary</b> - Gallium support code
<ul>
<li><b>draw</b> - Software vertex processing and primitive assembly
module. This includes vertex program execution, clipping, culling
and optional stages for drawing wide lines, stippled lines,
polygon stippling, two-sided lighting, etc.
Intended for use by drivers for hardware that does not have
vertex shaders.
Geometry shaders will also be implemented in this module.
<li><b>cso_cache</b> - Constant State Objects Cache. Used to filter out
redundant state changes between state trackers and drivers.
<li><b>gallivm</b> - LLVM module for Gallium. For LLVM-based
compilation, optimization and code generation for TGSI shaders.
Incomplete.
<li><b>pipebuffer</b> - utility module for managing buffers
<li><b>rbug</b> - Gallium remote debug utility
<li><b>rtasm</b> - run-time assembly/machine code generation.
Currently there's run-time code generation for x86/SSE, PowerPC
and Cell SPU.
<li><b>tgsi</b> - TG Shader Infrastructure. Code for encoding,
manipulating and interpretting GPU programs.
<li><b>translate</b> - module for translating vertex data from one format
to another.
<li><b>util</b> - assorted utilities for arithmetic, hashing, surface
creation, memory management, 2D blitting, simple rendering, etc.
</ul>
<li><b>state_trackers</b> -
<ul>
<li><b>clover</b> - OpenCL state tracker
<li><b>dri</b> - Meta state tracker for DRI drivers
<li><b>egl</b> - Meta state tracker for EGL drivers
<li><b>es</b> - OpenGL ES 1.x and 2.x state trackers
<li><b>glx</b> - Meta state tracker for GLX
<li><b>vdpau</b> - VDPAU state tracker
<li><b>vega</b> - OpenVG 1.x state tracker
<li><b>wgl</b> -
<li><b>xorg</b> - Meta state tracker for Xorg video drivers
<li><b>xvmc</b> - XvMC state tracker
</ul>
<li><b>winsys</b> -
<ul>
<li><b>drm</b> -
<li><b>gdi</b> -
<li><b>xlib</b> -
</ul>
</ul>
</ul>
<ul>
<li><b>glx</b> - The GLX library code for building libGL. This is used for
direct rendering drivers. It will dynamically load one of the
xxx_dri.so drivers.
</ul>
<li><b>lib</b> - where the GL libraries are placed
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/specs/MESA_agp_offset.spec
0,0 → 1,95
Name
 
MESA_agp_offset
 
Name Strings
 
GLX_MESA_agp_offset
 
Contact
 
Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com)
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
 
Status
 
Shipping (Mesa 4.0.4 and later. Only implemented in particular
XFree86/DRI drivers.)
 
Version
 
1.0
 
Number
 
TBD
 
Dependencies
 
OpenGL 1.0 or later is required
GLX_NV_vertex_array_range is required.
This extensions is written against the OpenGL 1.4 Specification.
 
Overview
 
This extensions provides a way to convert pointers in an AGP memory
region into byte offsets into the AGP aperture.
Note, this extension depends on GLX_NV_vertex_array_range, for which
no real specification exists. See GL_NV_vertex_array_range for more
information.
 
IP Status
 
None
 
Issues
 
None
 
New Procedures and Functions
 
unsigned int glXGetAGPOffsetMESA( const void *pointer )
 
New Tokens
 
None
 
Additions to the OpenGL 1.4 Specification
 
None
 
Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors)
 
Add a new section, 3.6 as follows:
 
3.6 AGP Memory Access
 
On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV
and freed with glXFreeMemoryNV. Sometimes it's useful to know where a
block of AGP memory is located with respect to the start of the AGP
aperture. The function
 
GLuint glXGetAGPOffsetMESA( const GLvoid *pointer )
 
Returns the offset of the given memory block from the start of AGP
memory in basic machine units (i.e. bytes). If pointer is invalid
the value ~0 will be returned.
 
GLX Protocol
 
None. This is a client side-only extension.
 
Errors
 
glXGetAGPOffsetMESA will return ~0 if the pointer does not point to
an AGP memory region.
 
New State
 
None
 
Revision History
 
20 September 2002 - Initial draft
2 October 2002 - finished GLX chapter 3 additions
27 July 2004 - use unsigned int instead of GLuint, void instead of GLvoid
/contrib/sdk/sources/Mesa/docs/specs/MESA_copy_sub_buffer.spec
0,0 → 1,96
Name
 
MESA_copy_sub_buffer
 
Name Strings
 
GLX_MESA_copy_sub_buffer
 
Contact
 
Brian Paul (brian.paul 'at' tungstengraphics.com)
 
Status
 
Shipping since Mesa 2.6 in February, 1998.
 
Version
 
Last Modified Date: 12 January 2009
 
Number
 
215
 
Dependencies
 
OpenGL 1.0 or later is required.
GLX 1.0 or later is required.
 
Overview
 
The glxCopySubBufferMESA() function copies a rectangular region
of the back color buffer to the front color buffer. This can be
used to quickly repaint 3D windows in response to expose events
when the back color buffer cannot be damaged by other windows.
 
IP Status
 
Open-source; freely implementable.
 
Issues
 
None.
 
New Procedures and Functions
 
void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
int x, int y, int width, int height );
 
New Tokens
 
None.
 
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
 
Add to section 3.3.10 Double Buffering:
 
The function
 
void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
int x, int y, int width, int height );
 
may be used to copy a rectangular region of the back color buffer to
the front color buffer. This can be used to quickly repaint 3D windows
in response to expose events when the back color buffer cannot be
damaged by other windows.
 
<x> and <y> indicates the lower-left corner of the region to copy and
<width> and <height> indicate the size in pixels. Coordinate (0,0)
corresponds to the lower-left pixel of the window, like glReadPixels.
 
If dpy and drawable are the display and drawable for the calling
thread's current context, glXCopySubBufferMESA performs an
implicit glFlush before it returns. Subsequent OpenGL commands
may be issued immediately after calling glXCopySubBufferMESA, but
are not executed until the copy is completed.
 
GLX Protocol
 
None at this time. The extension is implemented in terms of ordinary
Xlib protocol inside of Mesa.
 
Errors
 
None.
 
New State
 
None.
 
Revision History
 
12 January 2009 Ian Romanick - Added language about implicit flush
and command completion.
8 June 2000 Brian Paul - initial specification
 
/contrib/sdk/sources/Mesa/docs/specs/MESA_drm_image.spec
0,0 → 1,153
Name
 
MESA_drm_image
 
Name Strings
 
EGL_MESA_drm_image
 
Contact
 
Kristian Høgsberg <krh@bitplanet.net>
 
Status
 
Proposal
 
Version
 
Version 2, August 25, 2010
 
Number
 
EGL Extension #not assigned
 
Dependencies
 
Requires EGL 1.4 or later. This extension is written against the
wording of the EGL 1.4 specification.
 
EGL_KHR_base_image is required.
 
Overview
 
This extension provides entry points for integrating EGLImage with the
Linux DRM mode setting and memory management drivers. The extension
lets applications create EGLImages without a client API resource and
lets the application get the DRM buffer handles.
 
IP Status
 
Open-source; freely implementable.
 
New Procedures and Functions
 
EGLImageKHR eglCreateDRMImageMESA(EGLDisplay dpy,
const EGLint *attrib_list);
 
EGLBoolean eglExportDRMImageMESA(EGLDisplay dpy,
EGLImageKHR image,
EGLint *name,
EGLint *handle,
EGLint *stride);
 
New Tokens
 
Accepted in the <attrib_list> parameter of eglCreateDRMImageMESA:
 
EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
EGL_DRM_BUFFER_USE_MESA 0x31D1
 
Accepted as values for the EGL_IMAGE_FORMAT_MESA attribute:
 
EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
 
Bits accepted in EGL_DRM_BUFFER_USE_MESA:
 
EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x0001
EGL_DRM_BUFFER_USE_SHARE_MESA 0x0002
EGL_DRM_BUFFER_USE_CURSOR_MESA 0x0004
 
Accepted in the <target> parameter of eglCreateImageKHR:
 
EGL_DRM_BUFFER_MESA 0x31D3
 
Use when importing drm buffer:
 
EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
 
Additions to the EGL 1.4 Specification:
 
To create a DRM EGLImage, call
 
EGLImageKHR eglCreateDRMImageMESA(EGLDisplay dpy,
const EGLint *attrib_list);
 
In the attribute list, pass EGL_WIDTH, EGL_HEIGHT and format and
use in the attrib list using EGL_DRM_BUFFER_FORMAT_MESA and
EGL_DRM_BUFFER_USE_MESA. The only format specified by this
extension is EGL_DRM_BUFFER_FORMAT_ARGB32_MESA, where each pixel
is a CPU-endian, 32-bit quantity, with alpha in the upper 8 bits,
then red, then green, then blue. The bit values accepted by
EGL_DRM_BUFFER_USE_MESA are EGL_DRM_BUFFER_USE_SCANOUT_MESA,
EGL_DRM_BUFFER_USE_SHARE_MESA and EGL_DRM_BUFFER_USE_CURSOR_MESA.
EGL_DRM_BUFFER_USE_SCANOUT_MESA requests that the created EGLImage
should be usable as a scanout buffer with the DRM kernel
modesetting API. EGL_DRM_BUFFER_USE_SHARE_MESA requests that the
EGLImage can be shared with other processes by passing the
underlying DRM buffer name. EGL_DRM_BUFFER_USE_CURSOR_MESA
requests that the image must be usable as a cursor with KMS. When
EGL_DRM_BUFFER_USE_CURSOR_MESA is set, width and height must both
be 64.
 
To create a process local handle or a global DRM name for a
buffer, call
 
EGLBoolean eglExportDRMImageMESA(EGLDisplay dpy,
EGLImageKHR image,
EGLint *name,
EGLint *handle,
EGLint *stride);
 
If <name> is non-NULL, a global name is assigned to the image and
written to <name>, the handle (local to the DRM file descriptor,
for use with DRM kernel modesetting API) is written to <handle> if
non-NULL and the stride (in bytes) is written to <stride>, if
non-NULL.
 
Import a shared buffer by calling eglCreateImageKHR with
EGL_DRM_BUFFER_MESA as the target, using EGL_WIDTH, EGL_HEIGHT,
EGL_DRM_BUFFER_FORMAT_MESA, EGL_DRM_BUFFER_STRIDE_MESA
in the attrib list.
 
Issues
 
1. Why don't we use eglCreateImageKHR with a target that
indicates that we want to create an EGLImage from scratch?
 
RESOLVED: The eglCreateImageKHR entry point is reserved for
creating an EGLImage from an already existing client API
resource. This is fine when we're creating the EGLImage from
an existing DRM buffer name, it doesn't seem right to overload
the function to also allocate the underlying resource.
 
2. Why don't we use an eglQueryImageMESA type functions for
querying the DRM EGLImage attributes (name, handle, and stride)?
 
RESOLVED: The eglQueryImage function has been proposed often,
but it goes against the EGLImage design. EGLImages are opaque
handles to a 2D array of pixels, which can be passed between
client APIs. By referencing an EGLImage in a client API, the
EGLImage target (a texture, a renderbuffer or such) can be
used to query the attributes of the EGLImage. We don't have a
full client API for creating and querying DRM buffers, though,
so we use a new EGL extension entry point instead.
 
Revision History
 
Version 1, June 3, 2010
Initial draft (Kristian Høgsberg)
Version 2, August 25, 2010
Flesh out the extension a bit, add final EGL tokens, capture
some of the original discussion in the issues section.
/contrib/sdk/sources/Mesa/docs/specs/MESA_multithread_makecurrent.spec
0,0 → 1,158
Name
 
MESA_multithread_makecurrent
 
Name Strings
 
GLX_MESA_multithread_makecurrent
 
Contact
 
Eric Anholt (eric@anholt.net)
 
Status
 
Not shipping.
 
Version
 
Last Modified Date: 21 February 2011
 
Number
 
TBD
 
Dependencies
 
OpenGL 1.0 or later is required.
GLX 1.3 or later is required.
 
Overview
 
The GLX context setup encourages multithreaded applications to
create a context per thread which each operate on their own
objects in parallel, and leaves synchronization for write access
to shared objects up to the application.
 
For some applications, maintaining per-thread contexts and
ensuring that the glFlush happens in one thread before another
thread starts working on that object is difficult. For them,
using the same context across multiple threads and protecting its
usage with a mutex is both higher performance and easier to
implement. This extension gives those applications that option by
relaxing the context binding requirements.
 
This new behavior matches the requirements of AGL, while providing
a feature not specified in WGL.
 
IP Status
 
Open-source; freely implementable.
 
Issues
 
None.
 
New Procedures and Functions
 
None.
 
New Tokens
 
None.
 
Changes to Chapter 2 of the GLX 1.3 Specification (Functions and Errors)
 
Replace the following sentence from section 2.2 Rendering Contexts:
In addition, a rendering context can be current for only one
thread at a time.
with:
In addition, an indirect rendering context can be current for
only one thread at a time. A direct rendering context may be
current to multiple threads, with synchronization of access to
the context thruogh the GL managed by the application through
mutexes.
 
Changes to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
 
Replace the following sentence from section 3.3.7 Rendering Contexts:
If ctx is current to some other thread, then
glXMakeContextCurrent will generate a BadAccess error.
with:
If ctx is an indirect context current to some other thread,
then glXMakeContextCurrent will generate a BadAccess error.
 
Replace the following sentence from section 3.5 Rendering Contexts:
If ctx is current to some other thread, then
glXMakeCurrent will generate a BadAccess error.
with:
If ctx is an indirect context current to some other thread,
then glXMakeCurrent will generate a BadAccess error.
 
GLX Protocol
 
None. The GLX extension only extends to direct rendering contexts.
 
Errors
 
None.
 
New State
 
None.
 
Issues
 
(1) What happens if the app binds a context/drawable in multiple
threads, then binds a different context/thread in one of them?
 
As with binding a new context from the current thread, the old
context's refcount is reduced and the new context's refcount is
increased.
 
(2) What happens if the app binds a context/drawable in multiple
threads, then binds None/None in one of them?
 
The GLX context is unreferenced from that thread, and the other
threads retain their GLX context binding.
 
(3) What happens if the app binds a context/drawable in 7 threads,
then destroys the context in one of them?
 
As with GLX context destruction previously, the XID is destroyed
but the context remains usable by threads that have the context
current.
 
(4) What happens if the app binds a new drawable/readable with
glXMakeCurrent() when it is already bound to another thread?
 
The context becomes bound to the new drawable/readable, and
further rendering in either thread will use the new
drawable/readable.
 
(5) What requirements should be placed on the user managing contexts
from multiple threads?
 
The intention is to allow multithreaded access to the GL at the
minimal performance cost, so requiring that the GL do general
synchronization (beyond that already required by context sharing)
is not an option, and synchronizing of GL's access to the GL
context between multiple threads is left to the application to do
across GL calls. However, it would be unfortunate for a library
doing multithread_makecurrent to require that other libraries
share in synchronization for binding of their own contexts, so the
refcounting of the contexts is required to be threadsafe.
 
(6) Does this apply to indirect contexts?
 
This was ignored in the initial revision of the spec. Behavior
for indirect contexts is left as-is.
 
Revision History
 
20 November 2009 Eric Anholt - initial specification
22 November 2009 Eric Anholt - added issues from Ian Romanick.
3 February 2011 Eric Anholt - updated with resolution to issues 1-3
3 February 2011 Eric Anholt - added issue 4, 5
21 February 2011 Eric Anholt - Include glXMakeCurrent() sentence
along with glXMakeContextCurrent() for removal.
/contrib/sdk/sources/Mesa/docs/specs/MESA_pack_invert.spec
0,0 → 1,138
Name
 
MESA_pack_invert
 
Name Strings
 
GL_MESA_pack_invert
 
Contact
 
Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com)
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
 
Status
 
Shipping (Mesa 4.0.4 and later)
 
Version
 
1.0
 
Number
 
TBD
 
Dependencies
 
OpenGL 1.0 or later is required
This extensions is written against the OpenGL 1.4 Specification.
 
Overview
 
This extension adds a new pixel storage parameter to indicate that
images are to be packed in top-to-bottom order instead of OpenGL's
conventional bottom-to-top order. Only pixel packing can be
inverted (i.e. for glReadPixels, glGetTexImage, glGetConvolutionFilter,
etc).
 
Almost all known image file formats store images in top-to-bottom
order. As it is, OpenGL reads images from the frame buffer in
bottom-to-top order. Thus, images usually have to be inverted before
writing them to a file with image I/O libraries. This extension
allows images to be read such that inverting isn't needed.
 
IP Status
 
None
 
Issues
 
1. Should we also define UNPACK_INVERT_MESA for glDrawPixels, etc?
 
Resolved: No, we're only concerned with pixel packing. There are other
solutions for inverting images when using glDrawPixels (negative Y pixel
zoom) or glTexImage (invert the vertex T coordinates). It would be easy
enough to define a complementary extension for pixel packing in the
future if needed.
 
New Procedures and Functions
 
None
 
New Tokens
 
Accepted by the <pname> parameter of PixelStorei and PixelStoref
and the <pname> parameter of GetIntegerv, GetFloatv, GetDoublev
and GetBooleanv:
 
PACK_INVERT_MESA 0x8758
 
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
 
None
 
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
 
None
 
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
Operations and the Frame Buffer)
 
Add the following entry to table 4.4 (PixelStore parameters) on page 182:
 
Parameter Name Type Initial Value Valid Range
---------------------------------------------------------
PACK_INVERT_MESA boolean FALSE TRUE/FALSE
 
In the section labeled "Placement in Client Memory" on page 184
insert the following text into the paragraph before the sentence
that starts with "If the format is RED, GREEN, BLUE...":
 
"The parameter PACK_INVERT_MESA controls whether the image is packed
in bottom-to-top order (the default) or top-to-bottom order. Equation
3.8 is modified as follows:
 
... the first element of the Nth row is indicated by
 
p + Nk, if PACK_INVERT_MESA is false
p + k * (H - 1) - Nk, if PACK_INVERT_MESA is true, where H is the
image height
"
 
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
 
None
 
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
State Requests)
 
None
 
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
 
None
 
Additions to the AGL/GLX/WGL Specifications
 
None
 
GLX Protocol
 
None
 
Errors
 
None
 
New State
 
Add the following entry to table 6.20 (Pixels) on page 235:
 
Get Value Type Get Cmd Initial Value Description Sec Attribute
--------------------------------------------------------------------------------------------------
PACK_INVERT_MESA boolean GetBoolean FALSE Value of PACK_INVERT_MESA 4.3.2 pixel-store
 
Revision History
 
21 September 2002 - Initial draft
/contrib/sdk/sources/Mesa/docs/specs/MESA_pixmap_colormap.spec
0,0 → 1,90
Name
 
MESA_pixmap_colormap
 
Name Strings
 
GLX_MESA_pixmap_colormap
 
Contact
 
Brian Paul (brian.paul 'at' tungstengraphics.com)
 
Status
 
Shipping since Mesa 1.2.8 in May, 1996.
 
Version
 
Last Modified Date: 8 June 2000
 
Number
 
216
 
Dependencies
 
OpenGL 1.0 or later is required.
GLX 1.0 or later is required.
 
Overview
 
Since Mesa allows RGB rendering into drawables with PseudoColor,
StaticColor, GrayScale and StaticGray visuals, Mesa needs a colormap
in order to compute pixel values during rendering.
 
The colormap associated with a window can be queried with normal
Xlib functions but there is no colormap associated with pixmaps.
 
The glXCreateGLXPixmapMESA function is an alternative to glXCreateGLXPixmap
which allows specification of a colormap.
 
IP Status
 
Open-source; freely implementable.
 
Issues
 
None.
 
New Procedures and Functions
 
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
Pixmap pixmap, Colormap cmap );
 
New Tokens
 
None.
 
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
 
Add to section 3.4.2 Off Screen Rendering
 
The Mesa implementation of GLX allows RGB rendering into X windows and
pixmaps of any visual class, not just TrueColor or DirectColor. In order
to compute pixel values from RGB values Mesa requires a colormap.
 
The function
 
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
Pixmap pixmap, Colormap cmap );
 
allows one to create a GLXPixmap with a specific colormap. The image
rendered into the pixmap may then be copied to a window (which uses the
same colormap and visual) with the expected results.
 
GLX Protocol
 
None since this is a client-side extension.
 
Errors
 
None.
 
New State
 
None.
 
Revision History
 
8 June 2000 - initial specification
/contrib/sdk/sources/Mesa/docs/specs/MESA_release_buffers.spec
0,0 → 1,85
Name
 
MESA_release_buffers
 
Name Strings
 
GLX_MESA_release_buffers
 
Contact
 
Brian Paul (brian.paul 'at' tungstengraphics.com)
 
Status
 
Shipping since Mesa 2.0 in October, 1996.
 
Version
 
Last Modified Date: 8 June 2000
 
Number
 
217
 
Dependencies
 
OpenGL 1.0 or later is required.
GLX 1.0 or later is required.
 
Overview
 
Mesa's implementation of GLX is entirely implemented on the client side.
Therefore, Mesa cannot immediately detect when an X window or pixmap is
destroyed in order to free any ancillary data associated with the window
or pixmap.
 
The glxMesaReleaseBuffers() function can be used to explicitly indicate
when the back color buffer, depth buffer, stencil buffer, and/or accumu-
lation buffer associated with a drawable can be freed.
 
IP Status
 
Open-source; freely implementable.
 
Issues
 
None.
 
New Procedures and Functions
 
Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
 
New Tokens
 
None.
 
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
 
The function
 
Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
 
causes all software ancillary buffers (back buffer, depth, stencil,
accum, etc) associated with the named drawable to be immediately
deallocated. True is returned if <d> is a valid Mesa GLX drawable,
else False is returned. After calling glXReleaseBuffersMESA, the
drawable should no longer be used for GL rendering. Results of
attempting to do so are undefined.
 
 
GLX Protocol
 
None, since this is a client-side operation.
 
Errors
 
None.
 
New State
 
None.
 
Revision History
 
8 June 2000 - initial specification
/contrib/sdk/sources/Mesa/docs/specs/MESA_set_3dfx_mode.spec
0,0 → 1,85
Name
 
MESA_set_3dfx_mode
 
Name Strings
 
GLX_MESA_set_3dfx_mode
 
Contact
 
Brian Paul (brian.paul 'at' tungstengraphics.com)
 
Status
 
Shipping since Mesa 2.6 in February, 1998.
 
Version
 
Last Modified Date: 8 June 2000
 
Number
 
218
 
Dependencies
 
OpenGL 1.0 or later is required.
GLX 1.0 or later is required.
 
Overview
 
The Mesa Glide driver allows full-screen rendering or rendering into
an X window. The glXSet3DfxModeMESA() function allows an application
to switch between full-screen and windowed rendering.
 
IP Status
 
Open-source; freely implementable.
 
Issues
 
None.
 
New Procedures and Functions
 
GLboolean glXSet3DfxModeMESA( GLint mode );
 
New Tokens
 
GLX_3DFX_WINDOW_MODE_MESA 0x1
GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
 
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
 
The Mesa Glide device driver allows either rendering in full-screen
mode or rendering into an X window. An application can switch between
full-screen and window rendering with the command:
 
GLboolean glXSet3DfxModeMESA( GLint mode );
 
<mode> may either be GLX_3DFX_WINDOW_MODE_MESA to indicate window
rendering or GLX_3DFX_FULLSCREEN_MODE_MESA to indicate full-screen mode.
 
GL_TRUE is returned if <mode> is valid and the operation completed
normally. GL_FALSE is returned if <mode> is invalid or if the Glide
driver is not being used.
 
Note that only one drawable and context can be created at any given
time with the Mesa Glide driver.
 
GLX Protocol
 
None since this is a client-side extension.
 
Errors
 
None.
 
New State
 
None.
 
Revision History
 
8 June 2000 - initial specification
/contrib/sdk/sources/Mesa/docs/specs/MESA_shader_debug.spec
0,0 → 1,264
Name
 
MESA_shader_debug
 
Name Strings
 
GL_MESA_shader_debug
 
Contact
 
Brian Paul (brian.paul 'at' tungstengraphics.com)
Michal Krol (mjkrol 'at' gmail.com)
 
Status
 
Obsolete.
 
Version
 
Last Modified Date: July 30, 2006
Author Revision: 0.2
 
Number
 
TBD
 
Dependencies
 
OpenGL 1.0 is required.
 
The ARB_shader_objects extension is required.
 
The ARB_shading_language_100 extension is required.
 
The extension is written against the OpenGL 1.5 specification.
 
The extension is written against the OpenGL Shading Language 1.10
Specification.
 
Overview
 
This extension introduces a debug object that can be attached to
a program object to enable debugging. Vertex and/or fragment shader,
during execution, issue diagnostic function calls that are logged
to the debug object's log. A separate debug log for each shader type
is maintained. A debug object can be attached, detached and queried
at any time outside the Begin/End pair. Multiple debug objects can
be attached to a single program object.
 
IP Status
 
None
 
Issues
 
None
 
New Procedures and Functions
 
handleARB CreateDebugObjectMESA(void)
void ClearDebugLogMESA(handleARB obj, enum logType, enum shaderType)
void GetDebugLogMESA(handleARB obj, enum logType, enum shaderType,
sizei maxLength, sizei *length,
charARB *debugLog)
sizei GetDebugLogLengthMESA(handleARB obj, enum logType,
enum shaderType)
 
New Types
 
None
 
New Tokens
 
Returned by the <params> parameter of GetObjectParameter{fi}vARB:
 
DEBUG_OBJECT_MESA 0x8759
 
Accepted by the <logType> argument of ClearDebugLogMESA,
GetDebugLogLengthMESA and GetDebugLogMESA:
 
DEBUG_PRINT_MESA 0x875A
DEBUG_ASSERT_MESA 0x875B
 
Additions to Chapter 2 of the OpenGL 1.5 Specification
(OpenGL Operation)
 
None
 
Additions to Chapter 3 of the OpenGL 1.5 Specification (Rasterization)
 
None
 
Additions to Chapter 4 of the OpenGL 1.5 Specification (Per-Fragment
Operations and the Frame Buffer)
 
None
 
Additions to Chapter 5 of the OpenGL 1.5 Specification
(Special Functions)
 
None
 
Additions to Chapter 6 of the OpenGL 1.5 Specification (State and State
Requests)
 
None
 
Additions to Appendix A of the OpenGL 1.5 Specification (Invariance)
 
None
 
Additions to Chapter 1 of the OpenGL Shading Language 1.10 Specification
(Introduction)
 
None
 
Additions to Chapter 2 of the OpenGL Shading Language 1.10 Specification
(Overview of OpenGL Shading)
 
None
 
Additions to Chapter 3 of the OpenGL Shading Language 1.10 Specification
(Basics)
 
None
 
Additions to Chapter 4 of the OpenGL Shading Language 1.10 Specification
(Variables and Types)
 
None
 
Additions to Chapter 5 of the OpenGL Shading Language 1.10 Specification
(Operators and Expressions)
 
None
 
Additions to Chapter 6 of the OpenGL Shading Language 1.10 Specification
(Statements and Structure)
 
None
 
Additions to Chapter 7 of the OpenGL Shading Language 1.10 Specification
(Built-in Variables)
 
None
 
Additions to Chapter 8 of the OpenGL Shading Language 1.10 Specification
(Built-in Functions)
 
Add a new section 8.10 "Debug Functions":
 
Debug functions are available to both fragment and vertex shaders.
They are used to track the execution of a shader by logging
passed-in arguments to the debug object's log. Those values can be
retrieved by the application for inspection after shader execution
is complete.
 
The text, if any, produced by any of these functions is appended
to each debug object that is attached to the program object.
There are different debug log types
 
Add a new section 8.10.1 "Print Function":
 
The following printMESA prototypes are available.
 
void printMESA(const float value)
void printMESA(const int value)
void printMESA(const bool value)
void printMESA(const vec2 value)
void printMESA(const vec3 value)
void printMESA(const vec4 value)
void printMESA(const ivec2 value)
void printMESA(const ivec3 value)
void printMESA(const ivec4 value)
void printMESA(const bvec2 value)
void printMESA(const bvec3 value)
void printMESA(const bvec4 value)
void printMESA(const mat2 value)
void printMESA(const mat3 value)
void printMESA(const mat4 value)
void printMESA(const sampler1D value)
void printMESA(const sampler2D value)
void printMESA(const sampler3D value)
void printMESA(const samplerCube value)
void printMESA(const sampler1DShadow value)
void printMESA(const sampler2DShadow value)
 
The printMESA function writes the argument <value> to the "debug
print log" (XXX DEBUG_PRINT_MESA?). Each component is written in
text format (XXX format!) and is delimited by a white space (XXX 1
or more?).
 
Add a new section 8.10.2 "Assert Function":
 
The following assertMESA prototypes are available.
 
void assertMESA(const bool condition)
void assertMESA(const bool condition, const int cookie)
void assertMESA(const bool condition, const int cookie,
const int file, const int line)
 
The assertMESA function checks if the argument <condition> is
true or false. If it is true, nothing happens. If it is false,
a diagnostic message is written to the "debug assert log".
The message contains the argument <file>, <line>, <cookie> and
implementation dependent double-quoted string, each of this
delimited by a white space. If the argument <cookie> is not present,
it is meant as if it was of value 0. If the arguments <file> and
<line> are not present, they are meant as if they were of values
__FILE__ and __LINE__, respectively. The following three calls
produce the same output, assuming they were issued from the same
file and line.
 
assertMESA (false);
assertMESA (false, 0);
assertMESA (false, 0, __FILE__, __LINE__);
 
The diagnostic message examples follow.
 
1 89 0 ""
1 45 333 "all (lessThanEqual (fragColor, vec4 (1.0)))"
1 66 1 "assertion failed in file 1, line 66, cookie 1"
 
Additions to Chapter 9 of the OpenGL Shading Language 1.10 Specification
(Shading Language Grammar)
 
None
 
Additions to Chapter 10 of the OpenGL Shading Language 1.10
Specification (Issues)
 
None
 
Additions to the AGL/EGL/GLX/WGL Specifications
 
None
 
GLX Protocol
 
None
 
Errors
 
TBD
 
New State
 
TBD
 
New Implementation Dependent State
 
TBD
 
Sample Code
 
TBD
 
Revision History
 
29 May 2006
Initial draft. (Michal Krol)
30 July 2006
Add Overview, New Procedures and Functions, New Tokens sections.
Add sections 8.10.1, 8.10.2 to GLSL spec.
/contrib/sdk/sources/Mesa/docs/specs/MESA_swap_control.spec
0,0 → 1,129
Name
 
MESA_swap_control
 
Name Strings
 
GLX_MESA_swap_control
 
Contact
 
Ian Romanick, IBM, idr at us.ibm.com
 
Status
 
Deployed in DRI drivers post-XFree86 4.3.
 
Version
 
Date: 5/1/2003 Revision: 1.1
 
Number
 
???
 
Dependencies
 
None
 
Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control
version 1.5.
 
Overview
 
This extension allows an application to specify a minimum periodicity
of color buffer swaps, measured in video frame periods.
 
Issues
 
* Should implementations that export GLX_MESA_swap_control also export
GL_EXT_swap_control for compatibility with WGL_EXT_swap_control?
 
UNRESOLVED.
 
New Procedures and Functions
 
int glXSwapIntervalMESA(unsigned int interval)
int glXGetSwapIntervalMESA(void)
 
New Tokens
 
None
 
Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
 
None
 
Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
 
None
 
Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
and the Framebuffer)
 
None
 
Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
 
None
 
Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
 
None
 
Additions to the GLX 1.3 Specification
 
[Add the following to Section 3.3.10 of the GLX Specification (Double
Buffering)]
 
glXSwapIntervalMESA specifies the minimum number of video frame periods
per buffer swap. (e.g. a value of two means that the color buffers
will be swapped at most every other video frame.) A return value
of zero indicates success; otherwise an error occurred. The interval
takes effect when glXSwapBuffers is first called subsequent to the
glXSwapIntervalMESA call.
 
A video frame period is the time required by the monitor to display a
full frame of video data. In the case of an interlaced monitor,
this is typically the time required to display both the even and odd
fields of a frame of video data.
 
If <interval> is set to a value of 0, buffer swaps are not synchro-
nized to a video frame. The <interval> value is silently clamped to
the maximum implementation-dependent value supported before being
stored.
 
The swap interval is not part of the render context state. It cannot
be pushed or popped. The current swap interval for the window
associated with the current context can be obtained by calling
glXGetSwapIntervalMESA. The default swap interval is 0.
 
On XFree86, setting the environment variable LIBGL_THROTTLE_REFRESH sets
the swap interval to 1.
 
Errors
 
glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current
GLXContext or if the current context is not a direct rendering context.
 
GLX Protocol
 
None. This extension only extends to direct rendering contexts.
 
New State
 
Get Value Get Command Type Initial Value
--------- ----------- ---- -------------
[swap interval] GetSwapInterval Z+ 0
 
New Implementation Dependent State
 
None
 
 
Revision History
 
1.1, 5/1/03 Added the issues section and contact information.
Changed the default swap interval to 0.
1.0, 3/17/03 Initial version based on GLX_SGI_swap_control and
WGL_EXT_swap_control.
/contrib/sdk/sources/Mesa/docs/specs/MESA_swap_frame_usage.spec
0,0 → 1,201
Name
 
MESA_swap_frame_usage
 
Name Strings
 
GLX_MESA_swap_frame_usage
 
Contact
 
Ian Romanick, IBM, idr at us.ibm.com
 
Status
 
Deployed in DRI drivers post-XFree86 4.3.
 
Version
 
Date: 5/1/2003 Revision: 1.1
 
Number
 
???
 
Dependencies
 
GLX_SGI_swap_control affects the definition of this extension.
GLX_MESA_swap_control affects the definition of this extension.
GLX_OML_sync_control affects the definition of this extension.
 
Based on WGL_I3D_swap_frame_usage version 1.3.
 
Overview
 
This extension allows an application to determine what portion of the
swap period has elapsed since the last swap operation completed. The
"usage" value is a floating point value on the range [0,max] which is
calculated as follows:
 
td
percent = ----
tf
 
where td is the time measured from the last completed buffer swap (or
call to enable the statistic) to when the next buffer swap completes, tf
is the entire time for a frame which may be multiple screen refreshes
depending on the swap interval as set by the GLX_SGI_swap_control or
GLX_OML_sync_control extensions.
 
The value, percent, indicates the amount of time spent between the
completion of the two swaps. If the value is in the range [0,1], the
buffer swap occurred within the time period required to maintain a
constant frame rate. If the value is in the range (1,max], a constant
frame rate was not achieved. The value indicates the number of frames
required to draw.
 
This definition of "percent" differs slightly from
WGL_I3D_swap_frame_usage. In WGL_I3D_swap_frame_usage, the measurement
is taken from the completion of one swap to the issuance of the next.
This representation may not be as useful as measuring between
completions, as a significant amount of time may pass between the
issuance of a swap and the swap actually occurring.
 
There is also a mechanism to determine whether a frame swap was
missed.
 
New Procedures and Functions
 
int glXGetFrameUsageMESA(Display *dpy,
GLXDrawable drawable,
float *usage)
 
int glXBeginFrameTrackingMESA(Display *dpy,
GLXDrawable drawable)
 
int glXEndFrameTrackingMESA(Display *dpy,
GLXDrawable drawable)
 
int glXQueryFrameTrackingMESA(Display *dpy,
GLXDrawable drawable,
int64_t *swapCount,
int64_t *missedFrames,
float *lastMissedUsage)
 
New Tokens
 
None
 
Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
 
None
 
Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
 
None
 
Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
and the Framebuffer)
 
None
 
Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
 
None
 
Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
 
None
 
Additions to the GLX 1.3 Specification
 
The frame usage is measured as the percentage of the swap period elapsed
between two buffer-swap operations being committed. In unextended GLX the
swap period is the vertical refresh time. If SGI_swap_control or
MESA_swap_control are supported, the swap period is the vertical refresh
time multiplied by the swap interval (or one if the swap interval is set
to zero).
If OML_sync_control is supported, the swap period is the vertical
refresh time multiplied by the divisor parameter to
glXSwapBuffersMscOML. The frame usage in this case is less than 1.0 if
the swap is committed before target_msc, and is greater than or equal to
1.0 otherwise. The actual usage value is based on the divisor and is
never less than 0.0.
 
int glXBeginFrameTrackingMESA(Display *dpy,
GLXDrawable drawable,
float *usage)
 
glXGetFrameUsageMESA returns a floating-point value in <usage>
that represents the current swap usage, as defined above.
 
Missed frame swaps can be tracked by calling the following function:
 
int glXBeginFrameTrackingMESA(Display *dpy,
GLXDrawable drawable)
 
glXBeginFrameTrackingMESA resets a "missed frame" count and
synchronizes with the next frame vertical sync before it returns.
If a swap is missed based in the rate control specified by the
<interval> set by glXSwapIntervalSGI or the default swap of once
per frame, the missed frame count is incremented.
 
The current missed frame count and total number of swaps since
the last call to glXBeginFrameTrackingMESA can be obtained by
calling the following function:
 
int glXQueryFrameTrackingMESA(Display *dpy,
GLXDrawable drawable,
int64_t *swapCount,
int64_t *missedFrames,
float *lastMissedUsage)
 
The location pointed to by <swapCount> will be updated with the
number of swaps that have been committed. This value may not match the
number of swaps that have been requested since swaps may be
queued by the implementation. This function can be called at any
time and does not synchronize to vertical blank.
 
The location pointed to by <missedFrames> will contain the number
swaps that missed the specified frame. The frame usage for the
last missed frame is returned in the location pointed to by
<lastMissedUsage>.
 
Frame tracking is disabled by calling the function
 
int glXEndFrameTrackingMESA(Display *dpy,
GLXDrawable drawable)
 
This function will not return until all swaps have occurred. The
application can call glXQueryFrameTrackingMESA for a final swap and
missed frame count.
 
If these functions are successful, zero is returned. If the context
associated with dpy and drawable is not a direct context,
GLX_BAD_CONTEXT is returned.
 
Errors
 
If the function succeeds, zero is returned. If the function
fails, one of the following error codes is returned:
 
GLX_BAD_CONTEXT The current rendering context is not a direct
context.
 
GLX Protocol
 
None. This extension only extends to direct rendering contexts.
 
New State
 
None
 
New Implementation Dependent State
 
None
 
Revision History
 
1.1, 5/1/03 Added contact information.
1.0, 3/17/03 Initial version based on WGL_I3D_swap_frame_usage.
/contrib/sdk/sources/Mesa/docs/specs/MESA_texture_array.spec
0,0 → 1,804
Name
 
MESA_texture_array
 
Name Strings
 
GL_MESA_texture_array
 
Contact
 
Ian Romanick, IBM (idr 'at' us.ibm.com)
 
IP Status
 
No known IP issues.
 
Status
 
Shipping in Mesa 7.1
 
Version
 
 
Number
 
TBD
 
Dependencies
 
OpenGL 1.2 or GL_EXT_texture3D is required.
 
Support for ARB_fragment_program is assumed, but not required.
 
Support for ARB_fragment_program_shadow is assumed, but not required.
 
Support for EXT_framebuffer_object is assumed, but not required.
 
Written based on the wording of the OpenGL 2.0 specification and
ARB_fragment_program_shadow but not dependent on them.
 
Overview
 
There are a number of circumstances where an application may wish to
blend two textures out of a larger set of textures. Moreover, in some
cases the selected textures may vary on a per-fragment basis within
a polygon. Several examples include:
 
1. High dynamic range textures. The application stores several
different "exposures" of an image as different textures. On a
per-fragment basis, the application selects which exposures are
used.
 
2. A terrain engine where the altitude of a point determines the
texture applied to it. If the transition is from beach sand to
grass to rocks to snow, the application will store each texture
in a different texture map, and dynamically select which two
textures to blend at run-time.
 
3. Storing short video clips in textures. Each depth slice is a
single frame of video.
 
Several solutions to this problem have been proposed, but they either
involve using a separate texture unit for each texture map or using 3D
textures without mipmaps. Both of these options have major drawbacks.
 
This extension provides a third alternative that eliminates the major
drawbacks of both previous methods. A new texture target,
TEXTURE_2D_ARRAY, is added that functions identically to TEXTURE_3D in
all aspects except the sizes of the non-base level images. In
traditional 3D texturing, the size of the N+1 LOD is half the size
of the N LOD in all three dimensions. For the TEXTURE_2D_ARRAY target,
the height and width of the N+1 LOD is halved, but the depth is the
same for all levels of detail. The texture then becomes an array of
2D textures. The per-fragment texel is selected by the R texture
coordinate.
 
References:
 
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011557
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=000516
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011903
http://www.delphi3d.net/articles/viewarticle.php?article=terraintex.htm
 
New Procedures and Functions
 
All functions come directly from EXT_texture_array.
 
void FramebufferTextureLayerEXT(enum target, enum attachment,
uint texture, int level, int layer);
 
New Tokens
 
All token names and values come directly from EXT_texture_array.
 
Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, by
the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and
GetDoublev, and by the <target> parameter of TexImage3D, GetTexImage,
GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and
GetTexParameterfv:
 
TEXTURE_1D_ARRAY_EXT 0x8C18
TEXTURE_2D_ARRAY_EXT 0x8C1A
 
Accepted by the <target> parameter of TexImage2D, TexSubImage2D,
CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D,
CompressedTexSubImage2D, GetTexLevelParameteriv, and
GetTexLevelParameterfv:
 
TEXTURE_1D_ARRAY_EXT
PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
 
Accepted by the <target> parameter of TexImage3D, TexSubImage3D,
CopyTexSubImage3D, CompressedTexImage3D, CompressedTexSubImage3D,
GetTexLevelParameteriv, and GetTexLevelParameterfv:
 
TEXTURE_2D_ARRAY_EXT
PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
 
Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
GetFloatv, and GetDoublev
 
TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
 
Accepted by the <param> parameter of TexParameterf, TexParameteri,
TexParameterfv, and TexParameteriv when the <pname> parameter is
TEXTURE_COMPARE_MODE_ARB:
 
COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
 
(Note: COMPARE_REF_DEPTH_TO_TEXTURE_EXT is simply an alias for the
existing COMPARE_R_TO_TEXTURE token in OpenGL 2.0; the alternate name
reflects the fact that the R coordinate is not always used.)
 
Accepted by the <internalformat> parameter of TexImage3D and
CompressedTexImage3D, and by the <format> parameter of
CompressedTexSubImage3D:
 
COMPRESSED_RGB_S3TC_DXT1_EXT
COMPRESSED_RGBA_S3TC_DXT1_EXT
COMPRESSED_RGBA_S3TC_DXT3_EXT
COMPRESSED_RGBA_S3TC_DXT5_EXT
 
Accepted by the <pname> parameter of
GetFramebufferAttachmentParameterivEXT:
 
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
 
(Note: FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the
FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in
EXT_framebuffer_object. This extension generalizes the notion of
"<zoffset>" to include layers of an array texture.)
 
Additions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation)
 
None
 
Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
 
-- Section 3.8.1 "Texture Image Specification"
 
Change the first paragraph (page 150) to say (spec changes identical to
EXT_texture_array):
 
"The command
 
void TexImage3D(enum target, int level, int internalformat,
sizei width, sizei height, sizei depth, int border,
enum format, enum type, void *data);
 
is used to specify a three-dimensional texture image. target must be one
one of TEXTURE_3D for a three-dimensional texture or
TEXTURE_2D_ARRAY_EXT for an two-dimensional array texture.
Additionally, target may be either PROXY_TEXTURE_3D for a
three-dimensional proxy texture, or PROXY_TEXTURE_2D_ARRAY_EXT for a
two-dimensional proxy array texture."
 
Change the fourth paragraph on page 151 to say (spec changes identical
to EXT_texture_array):
 
"Textures with a base internal format of DEPTH_COMPONENT are supported
by texture image specification commands only if target is TEXTURE_1D,
TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_2D_ARRAY_EXT,
PROXY_TEXTURE_1D, PROXY_TEXTURE_2D, PROXY_TEXTURE_1D_ARRAY_EXT, or
PROXY_TEXTURE_2D_ARRAY_EXT. Using this format in conjunction with any
other target will result in an INVALID_OPERATION error."
 
 
Change the fourth paragraph on page 156 to say (spec changes identical
to EXT_texture_array):
"The command
 
void TexImage2D(enum target, int level,
int internalformat, sizei width, sizei height,
int border, enum format, enum type, void *data);
 
is used to specify a two-dimensional texture image. target must be one
of TEXTURE_2D for a two-dimensional texture, TEXTURE_1D_ARRAY_EXT for a
one-dimensional array texture, or one of TEXTURE_CUBE_MAP_POSITIVE_X,
TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE_MAP_POSITIVE_Y,
TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
TEXTURE_CUBE_MAP_NEGATIVE_Z for a cube map texture. Additionally,
target may be either PROXY_TEXTURE_2D for a two-dimensional proxy
texture, PROXY_TEXTURE_1D_ARRAY_EXT for a one-dimensional proxy array
texture, or PROXY TEXTURE_CUBE_MAP for a cube map proxy texture in the
special case discussed in section 3.8.11. The other parameters match
the corresponding parameters of TexImage3D.
 
For the purposes of decoding the texture image, TexImage2D is
equivalent to calling TexImage3D with corresponding arguments and depth
of 1, except that
 
* The border depth, d_b, is zero, and the depth of the image is
always 1 regardless of the value of border.
 
* The border height, h_b, is zero if <target> is
TEXTURE_1D_ARRAY_EXT, and <border> otherwise.
 
* Convolution will be performed on the image (possibly changing its
width and height) if SEPARABLE 2D or CONVOLUTION 2D is enabled.
 
* UNPACK SKIP IMAGES is ignored."
 
-- Section 3.8.2 "Alternate Texture Image Specification Commands"
 
Change the second paragraph (page 159) (spec changes identical
to EXT_texture_array):
 
"The command
 
void CopyTexImage2D(enum target, int level,
enum internalformat, int x, int y, sizei width,
sizei height, int border);
 
defines a two-dimensional texture image in exactly the manner of
TexImage2D, except that the image data are taken from the framebuffer
rather than from client memory. Currently, target must be one of
TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_CUBE_MAP_POSITIVE_X,
TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE MAP_POSITIVE_Y,
TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
TEXTURE_CUBE_MAP_NEGATIVE_Z.
 
 
Change the last paragraph on page 160 to say (spec changes identical
to EXT_texture_array):
 
"Currently the target arguments of TexSubImage1D and CopyTexSubImage1D
must be TEXTURE_1D, the target arguments of TexSubImage2D and
CopyTexSubImage2D must be one of TEXTURE_2D, TEXTURE_1D_ARRAY_EXT,
TEXTURE_CUBE_MAP_POSITIVE_X, TEXTURE_CUBE_MAP_NEGATIVE_X,
TEXTURE_CUBE_MAP_POSITIVE_Y, TEXTURE_CUBE_MAP_NEGATIVE_Y,
TEXTURE_CUBE_MAP_POSITIVE_Z, or TEXTURE_CUBE_MAP_NEGATIVE_Z, and the
target arguments of TexSubImage3D and CopyTexSubImage3D must be
TEXTURE_3D or TEXTURE_2D_ARRAY_EXT. ..."
 
 
-- Section 3.8.4 "Texture Parameters"
 
Change the first paragraph (page 166) to say:
 
"Various parameters control how the texel array is treated when
specified or changed, and when applied to a fragment. Each parameter is
set by calling
 
void TexParameter{if}(enum target, enum pname, T param);
void TexParameter{if}v(enum target, enum pname, T params);
 
target is the target, either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT."
 
 
-- Section 3.8.8 "Texture Minification" in the section "Scale Factor and Level of Detail"
 
Change the first paragraph (page 172) to say:
 
"Let s(x,y) be the function that associates an s texture coordinate
with each set of window coordinates (x,y) that lie within a primitive;
define t(x,y) and r(x,y) analogously. Let u(x,y) = w_t * s(x,y),
v(x,y) = h_t * t(x,y), and w(x,y) = d_t * r(x,y), where w_t, h_t,
and d_t are as defined by equations 3.15, 3.16, and 3.17 with
w_s, h_s, and d_s equal to the width, height, and depth of the
image array whose level is level_base. For a one-dimensional
texture or a one-dimensional array texture, define v(x,y) = 0 and
w(x,y) = 0; for a two-dimensional texture or a two-dimensional array
texture, define w(x,y) = 0..."
 
-- Section 3.8.8 "Texture Minification" in the section "Mipmapping"
 
Change the third paragraph (page 174) to say:
"For a two-dimensional texture, two-dimensional array texture, or
cube map texture,"
 
Change the fourth paragraph (page 174) to say:
 
"And for a one-dimensional texture or a one-dimensional array texture,"
 
After the first paragraph (page 175) add:
 
"For one-dimensional array textures, h_b and d_b are treated as 1,
regardless of the actual values, when performing mipmap calculations.
For two-dimensional array textures, d_b is always treated as one,
regardless of the actual value, when performing mipmap calculations."
 
-- Section 3.8.8 "Automatic Mipmap Generation" in the section "Mipmapping"
 
Change the third paragraph (page 176) to say (spec changes identical
to EXT_texture_array):
 
"The contents of the derived arrays are computed by repeated, filtered
reduction of the level_base array. For one- and two-dimensional array
textures, each layer is filtered independently. ..."
 
-- Section 3.8.8 "Manual Mipmap Generation" in the section "Mipmapping"
 
Change first paragraph to say (spec changes identical to
EXT_texture_array):
 
"Mipmaps can be generated manually with the command
 
void GenerateMipmapEXT(enum target);
 
where <target> is one of TEXTURE_1D, TEXTURE_2D, TEXTURE_CUBE_MAP,
TEXTURE_3D, TEXTURE_1D_ARRAY, or TEXTURE_2D_ARRAY. Mipmap generation
affects the texture image attached to <target>. ..."
 
-- Section 3.8.10 "Texture Completeness"
 
Change the second paragraph (page 177) to say (spec changes identical
to EXT_texture_array):
 
"For one-, two-, or three-dimensional textures and one- or
two-dimensional array textures, a texture is complete if the following
conditions all hold true:"
 
-- Section 3.8.11 "Texture State and Proxy State"
 
Change the second and third paragraphs (page 179) to say (spec changes
identical to EXT_texture_array):
 
"In addition to image arrays for one-, two-, and three-dimensional
textures, one- and two-dimensional array textures, and the six image
arrays for the cube map texture, partially instantiated image arrays
are maintained for one-, two-, and three-dimensional textures and one-
and two-dimensional array textures. Additionally, a single proxy image
array is maintained for the cube map texture. Each proxy image array
includes width, height, depth, border width, and internal format state
values, as well as state for the red, green, blue, alpha, luminance,
and intensity component resolutions. Proxy image arrays do not include
image data, nor do they include texture properties. When TexImage3D is
executed with target specified as PROXY_TEXTURE_3D, the
three-dimensional proxy state values of the specified level-of-detail
are recomputed and updated. If the image array would not be supported
by TexImage3D called with target set to TEXTURE 3D, no error is
generated, but the proxy width, height, depth, border width, and
component resolutions are set to zero. If the image array would be
supported by such a call to TexImage3D, the proxy state values are set
exactly as though the actual image array were being specified. No pixel
data are transferred or processed in either case.
 
Proxy arrays for one- and two-dimensional textures and one- and
two-dimensional array textures are operated on in the same way when
TexImage1D is executed with target specified as PROXY_TEXTURE_1D,
TexImage2D is executed with target specified as PROXY_TEXTURE_2D or
PROXY_TEXTURE_1D_ARRAY_EXT, or TexImage3D is executed with target
specified as PROXY_TETXURE_2D_ARRAY_EXT."
 
-- Section 3.8.12 "Texture Objects"
 
Change section (page 180) to say (spec changes identical to
EXT_texture_array):
 
"In addition to the default textures TEXTURE_1D, TEXTURE_2D,
TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_EXT,
named one-, two-, and three-dimensional, cube map, and one- and
two-dimensional array texture objects can be created and operated upon.
The name space for texture objects is the unsigned integers, with zero
reserved by the GL.
 
A texture object is created by binding an unused name to TEXTURE_1D,
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
TEXTURE_2D_ARRAY_EXT. The binding is effected by calling
 
void BindTexture(enum target, uint texture);
 
with <target> set to the desired texture target and <texture> set to
the unused name. The resulting texture object is a new state vector,
comprising all the state values listed in section 3.8.11, set to the
same initial values. If the new texture object is bound to TEXTURE_1D,
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
TEXTURE_2D_ARRAY_EXT, it is and remains a one-, two-,
three-dimensional, cube map, one- or two-dimensional array texture
respectively until it is deleted.
 
BindTexture may also be used to bind an existing texture object to
either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT. The error
INVALID_OPERATION is generated if an attempt is made to bind a texture
object of different dimensionality than the specified target. If the
bind is successful no change is made to the state of the bound texture
object, and any previous binding to target is broken.
 
While a texture object is bound, GL operations on the target to which
it is bound affect the bound object, and queries of the target to which
it is bound return state from the bound object. If texture mapping of
the dimensionality of the target to which a texture object is bound is
enabled, the state of the bound texture object directs the texturing
operation.
 
In the initial state, TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_ARRAY_EXT have
one-, two-, three-dimensional, cube map, and one- and two-dimensional
array texture state vectors respectively associated with them. In order
that access to these initial textures not be lost, they are treated as
texture objects all of whose names are 0. The initial one-, two-,
three-dimensional, cube map, one- and two-dimensional array textures
are therefore operated upon, queried, and applied as TEXTURE_1D,
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and
TEXTURE_2D_ARRAY_EXT respectively while 0 is bound to the corresponding
targets.
 
Change second paragraph on page 181 to say (spec changes identical to
EXT_texture_array):
"... If a texture that is currently bound to one of the targets
TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT is deleted, it is as
though BindTexture had been executed with the same target and texture
zero. ..."
 
Change second paragraph on page 182 to say (spec changes identical to
EXT_texture_array):
"The texture object name space, including the initial one-, two-, and
three dimensional, cube map, and one- and two-dimensional array texture
objects, is shared among all texture units. ..."
 
 
-- Section 3.8.14 "Depth Texture Comparison Modes" in "Texture Comparison Modes"
 
Change second through fourth paragraphs (page 188) to say:
 
"Let D_t be the depth texture value, in the range [0, 1]. For
texture lookups from one- and two-dimensional, rectangle, and
one-dimensional array targets, let R be the interpolated <r>
texture coordinate, clamped to the range [0, 1]. For texture lookups
from two-dimensional array texture targets, let R be the interpolated
<q> texture coordinate, clamped to the range [0, 1]. Then the
effective texture value L_t, I_t, or A_t is computed as follows:
 
If the value of TEXTURE_COMPARE_MODE is NONE, then
 
r = Dt
 
If the value of TEXTURE_COMPARE_MODE is
COMPARE_REF_DEPTH_TO_TEXTURE_EXT), then r depends on the texture
comparison function as shown in table 3.27."
 
-- Section 3.8.15 "Texture Application"
 
Change the first paragraph (page 189) to say:
 
"Texturing is enabled or disabled using the generic Enable and Disable
commands, respectively, with the symbolic constants TEXTURE_1D,
TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
TEXTURE_2D_ARRAY_EXT to enable one-, two-, three-dimensional, cube
map, one-dimensional array, or two-dimensional array texture,
respectively. If both two- and one-dimensional textures are enabled,
the two-dimensional texture is used. If the three-dimensional and
either of the two- or one-dimensional textures is enabled, the
three-dimensional texture is used. If the cube map texture and any of
the three-, two-, or one-dimensional textures is enabled, then cube map
texturing is used. If one-dimensional array texture is enabled and any
of cube map, three-, two-, or one-dimensional textures is enabled,
one-dimensional array texturing is used. If two-dimensional array
texture is enabled and any of cube map, three-, two-, one-dimensional
textures or one-dimensional array texture is enabled, two-dimensional
array texturing is used..."
 
-- Section 3.11.2 of ARB_fragment_program (Fragment Program Grammar and Restrictions):
 
(mostly add to existing grammar rules)
 
<optionName> ::= "MESA_texture_array"
 
<texTarget> ::= "1D"
| "2D"
| "3D"
| "CUBE"
| "RECT"
| <arrayTarget> (if program option is present)
| <shadowTarget> (if program option is present)
 
<arrayTarget> ::= "ARRAY1D"
| "ARRAY2D"
 
<shadowTarget> ::= "SHADOW1D"
| "SHADOW2D"
| "SHADOWRECT"
| <shadowArrayTarget> (if program option is present)
 
<shadowArrayTarget> ::= "SHADOWARRAY1D"
| "SHADOWARRAY2D"
 
 
-- Add Section 3.11.4.5.4 "Texture Stack Option"
 
"If a fragment program specifies the "MESA_texture_array" program
option, the <texTarget> rule is modified to add the texture targets
ARRAY1D and ARRAY2D (See Section 3.11.2)."
 
-- Section 3.11.6 "Fragment Program Texture Instruction Set"
 
(replace 1st and 2nd paragraphs with the following paragraphs)
 
"The first three texture instructions described below specify the
mapping of 4-tuple input vectors to 4-tuple output vectors.
The sampling of the texture works as described in section 3.8,
except that texture environments and texture functions are not
applicable, and the texture enables hierarchy is replaced by explicit
references to the desired texture target (i.e., 1D, 2D, 3D, cube map,
rectangle, ARRAY1D, ARRAY2D). These texture instructions specify
how the 4-tuple is mapped into the coordinates used for sampling. The
following function is used to describe the texture sampling in the
descriptions below:
 
vec4 TextureSample(vec4 coord, float lodBias, int texImageUnit,
enum texTarget);
 
Note that not all four components of the texture coordinates <coord>
are used by all texture targets. Component usage for each <texTarget>
is defined in table X.
 
coordinates used
texTarget Texture Type s t r layer shadow
---------------- --------------------- ----- ----- ------
1D TEXTURE_1D x - - - -
2D TEXTURE_2D x y - - -
3D TEXTURE_3D x y z - -
CUBE TEXTURE_CUBE_MAP x y z - -
RECT TEXTURE_RECTANGLE_ARB x y - - -
ARRAY1D TEXTURE_1D_ARRAY_EXT x - - y -
ARRAY2D TEXTURE_2D_ARRAY_EXT x y - z -
SHADOW1D TEXTURE_1D x - - - z
SHADOW2D TEXTURE_2D x y - - z
SHADOWRECT TEXTURE_RECTANGLE_ARB x y - - z
SHADOWARRAY1D TEXTURE_1D_ARRAY_EXT x - - y z
SHADOWARRAY2D TEXTURE_2D_ARRAY_EXT x y - z w
 
Table X: Texture types accessed for each of the <texTarget>, and
coordinate mappings. The "coordinates used" column indicate the
input values used for each coordinate of the texture lookup, the
layer selector for array textures, and the reference value for
texture comparisons."
 
-- Section 3.11.6.2 "TXP: Project coordinate and map to color"
Add to the end of the section:
"A program will fail to load if the TXP instruction is used in
conjunction with the SHADOWARRAY2D target."
 
Additions to Chapter 4 of the OpenGL 2.0 Specification (Per-Fragment Operations)
 
-- Section 4.4.2.3 "Attaching Texture Images to a Framebuffer"
 
Add to the end of the section (spec changes identical to
EXT_texture_array):
 
"The command
 
void FramebufferTextureLayerEXT(enum target, enum attachment,
uint texture, int level, int layer);
 
operates identically to FramebufferTexture3DEXT, except that it
attaches a single layer of a three-dimensional texture or a one- or
two-dimensional array texture. <layer> is an integer indicating the
layer number, and is treated identically to the <zoffset> parameter in
FramebufferTexture3DEXT. The error INVALID_VALUE is generated if
<layer> is negative. The error INVALID_OPERATION is generated if
<texture> is non-zero and is not the name of a three dimensional
texture or one- or two-dimensional array texture. Unlike
FramebufferTexture3D, no <textarget> parameter is accepted.
 
If <texture> is non-zero and the command does not result in an error,
the framebuffer attachment state corresponding to <attachment> is
updated as in the other FramebufferTexture commands, except that
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT is set to <layer>."
 
-- Section 4.4.4.1 "Framebuffer Attachment Completeness"
 
Add to the end of the list of completeness rules (spec changes
identical to EXT_texture_array):
 
"* If FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE and
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT names a one- or
two-dimensional array texture, then
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT must be smaller than the
number of layers in the texture."
 
Additions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions)
 
-- Section 5.4 "Display Lists"
 
Change the first paragraph on page 242 to say (spec changes
identical to EXT_texture_array):
 
"TexImage3D, TexImage2D, TexImage1D, Histogram, and ColorTable are
executed immediately when called with the corresponding proxy arguments
PROXY_TEXTURE_3D or PROXY_TEXTURE_2D_ARRAY_EXT; PROXY_TEXTURE_2D,
PROXY_TEXTURE_CUBE_MAP, or PROXY_TEXTURE_1D_ARRAY_EXT;
PROXY_TEXTURE_1D; PROXY_HISTOGRAM; and PROXY_COLOR_TABLE,
PROXY_POST_CONVOLUTION_COLOR_TABLE, or
PROXY_POST_COLOR_MATRIX_COLOR_TABLE."
 
Additions to Chapter 6 of the OpenGL 2.0 Specification (State and State Requests)
 
-- Section 6.1.3 "Enumerated Queries"
 
Add after the line beginning "If the value of
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE" (spec changes
identical to EXT_texture_array):
 
"If <pname> is FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT and the
texture object named FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT is a
three-dimensional texture or a one- or two-dimensional array texture,
then <params> will contain the number of texture layer attached to the
attachment point. Otherwise, <params> will contain the value zero."
 
-- Section 6.1.4 "Texture Queries"
Change the first three paragraphs (page 248) to say (spec changes
identical to EXT_texture_array):
 
"The command
 
void GetTexImage(enum tex, int lod, enum format,
enum type, void *img);
 
is used to obtain texture images. It is somewhat different from the
other get commands; tex is a symbolic value indicating which texture
(or texture face in the case of a cube map texture target name) is to
be obtained. TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY_EXT,
and TEXTURE_2D_ARRAY_EXT indicate a one-, two-, or three-dimensional
texture, or one- or two-dimensional array texture, respectively.
TEXTURE_CUBE_MAP_POSITIVE_X, ...
 
GetTexImage obtains... from the first image to the last for
three-dimensional textures. One- and two-dimensional array textures
are treated as two- and three-dimensional images, respectively, where
the layers are treated as rows or images. These groups are then...
 
For three-dimensional and two-dimensional array textures, pixel storage
operations are applied as if the image were two-dimensional, except
that the additional pixel storage state values PACK_IMAGE_HEIGHT and
PACK_SKIP_IMAGES are applied. ..."
 
Additions to Appendix A of the OpenGL 2.0 Specification (Invariance)
 
None
 
Additions to the AGL/GLX/WGL Specifications
 
None
 
GLX Protocol
 
None
 
Dependencies on ARB_fragment_program
 
If ARB_fragment_program is not supported, the changes to section 3.11
should be ignored.
 
Dependencies on EXT_framebuffer_object
 
If EXT_framebuffer_object is not supported, the changes to section
3.8.8 ("Manual Mipmap Generation"), 4.4.2.3, and 6.1.3 should be ignored.
 
Dependencies on EXT_texture_compression_s3tc and NV_texture_compression_vtc
 
(Identical dependency as EXT_texture_array.)
 
S3TC texture compression is supported for two-dimensional array textures.
When <target> is TEXTURE_2D_ARRAY_EXT, each layer is stored independently
as a compressed two-dimensional textures. When specifying or querying
compressed images using one of the S3TC formats, the images are provided
and/or returned as a series of two-dimensional textures stored
consecutively in memory, with the layer closest to zero specified first.
For array textures, images are not arranged in 4x4x4 or 4x4x2 blocks as in
the three-dimensional compression format provided in the
EXT_texture_compression_vtc extension. Pixel store parameters, including
those specific to three-dimensional images, are ignored when compressed
image data are provided or returned, as in the
EXT_texture_compression_s3tc extension.
 
S3TC compression is not supported for one-dimensional texture targets in
EXT_texture_compression_s3tc, and is not supported for one-dimensional
array textures in this extension. If compressed one-dimensional arrays
are needed, use a two-dimensional texture with a height of one.
 
This extension allows the use of the four S3TC internal format types in
TexImage3D, CompressedTexImage3D, and CompressedTexSubImage3D calls.
 
Errors
 
None
 
New State
 
(add to table 6.15, p. 276)
 
Initial
Get Value Type Get Command Value Description Sec. Attribute
---------------------------- ----- ----------- ----- -------------------- ------ ---------
TEXTURE_BINDING_1D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
to TEXTURE_1D_ARRAY
TEXTURE_BINDING_2D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
to TEXTURE_2D_ARRAY
 
 
New Implementation Dependent State
 
(add to Table 6.32, p. 293)
 
Minimum
Get Value Type Get Command Value Description Sec. Attribute
---------------------------- ---- ----------- ------- ------------------ ----- ---------
MAX_TEXTURE_ARRAY_LAYERS_EXT Z+ GetIntegerv 64 maximum number of 3.8.1 -
layers for texture
arrays
 
Issues
 
(1) Is "texture stack" a good name for this functionality?
 
NO. The name is changed to "array texture" to match the
nomenclature used by GL_EXT_texture_array.
 
(2) Should the R texture coordinate be treated as normalized or
un-normalized? If it were un-normalized, floor(R) could be thought
of as a direct index into the array texture. This may be more
convenient for applications.
 
RESOLVED. All texture coordinates are normalized. The issue of
un-normalized texture coordinates has been discussed in the ARB
before and should be left for a layered extension.
 
RE-RESOLVED. The R coordinate is un-normalized. Accessing an array
using [0, layers-1] coordinates is much more natural.
 
(3) How does LOD selection work for stacked textures?
 
RESOLVED. For 2D array textures the R coordinate is ignored, and
the LOD selection equations for 2D textures are used. For 1D
array textures the T coordinate is ignored, and the LOD selection
equations for 1D textures are used. The expected usage is in a
fragment program with an explicit LOD selection.
 
(4) What is the maximum size of a 2D array texture? Is it the same
as for a 3D texture, or should a new query be added? How about for 1D
array textures?
 
RESOLVED. A new query is added.
 
(5) How are array textures exposed in GLSL?
RESOLVED. Use GL_EXT_texture_array.
(6) Should a 1D array texture also be exposed?
 
RESOLVED. For orthogonality, yes.
 
(7) How are stacked textures attached to framebuffer objects?
 
RESOLVED. Layers of both one- and two-dimensional array textures
are attached using FreambufferTextureLayerEXT. Once attached, the
array texture layer behaves exactly as either a one- or
two-dimensional texture.
 
(8) How is this extension related to GL_EXT_texture_array?
This extension adapats GL_MESAX_texture_stack to the notation,
indexing, and FBO access of GL_EXT_texture_array. This extension
replaces the GLSL support of GL_EXT_texture_array with
GL_ARB_fragment_program support.
 
Assembly program support is also provided by GL_NV_gpu_program4.
GL_NV_gpu_program4 also adds support for other features that are
specific to Nvidia hardware, while this extension adds only support
for array textures.
 
Much of text of this extension that has changed since
GL_MESAX_texture_stack comes directly from either
GL_EXT_texture_array or GL_NV_gpu_program4.
 
Revision History
 
||2005/11/15||0.1||idr||Initial draft MESAX version.||
||2005/12/07||0.2||idr||Added framebuffer object interactions.||
||2005/12/12||0.3||idr||Updated fragment program interactions.||
||2007/05/16||0.4||idr||Converted to MESA_texture_array. Brought in line with EXT_texture_array and NV_gpu_program4.||
/contrib/sdk/sources/Mesa/docs/specs/MESA_texture_signed_rgba.spec
0,0 → 1,214
Name
 
MESA_texture_signed_rgba
 
Name Strings
 
GL_MESA_texture_signed_rgba
 
Contact
 
 
 
Notice
 
 
 
IP Status
 
No known IP issues
 
Status
 
 
 
Version
 
0.3, 2009-03-24
 
Number
 
Not assigned ?
 
Dependencies
 
Written based on the wording of the OpenGL 2.0 specification.
 
This extension trivially interacts with ARB_texture_float.
This extension shares some language with ARB_texture_compression_rgtc
but does not depend on it.
 
Overview
 
OpenGL prior to 3.1 does not support any signed texture formats.
ARB_texture_compression_rgtc introduces some compressed red and
red_green signed formats but no uncompressed ones, which might
still be useful. NV_texture_shader adds signed texture formats,
but also a lot of functionality which has been superseded by fragment
shaders.
It is usually possible to get the same functionality
using a unsigned format by doing scale and bias in a shader, but this
is undesirable since modern hardware has direct support for this.
This extension adds a signed 4-channel texture format by backporting
the relevant features from OpenGL 3.1, as a means to support this in
OpenGL implementations only supporting older versions.
 
Issues
 
1) What should this extension be called?
 
RESOLVED: MESA_texture_signed_rgba seems reasonable.
The rgba part is there because only 4 channel format is supported.
 
 
2) Should the full set of signed formats (alpha, luminance, rgb, etc.)
be supported?
 
RESOLVED: NO. To keep this extension simple, only add the most
universal format, rgba. alpha/luminance can't be trivially supported
since OpenGL 3.1 does not support them any longer, and there is some
implied dependency on ARB_texture_rg for red/red_green formats so
avoid all this. Likewise, only 8 bits per channel is supported.
 
 
3) Should this extension use new enums for the texture formats?
 
RESOLVED: NO. Same enums as those used in OpenGL 3.1.
 
 
4) How are signed integer values mapped to floating-point values?
 
RESOLVED: Same as described in issue 5) of
ARB_texture_compression_rgtc (quote):
A signed 8-bit two's complement value X is computed to
a floating-point value Xf with the formula:
 
{ X / 127.0, X > -128
Xf = {
{ -1.0, X == -128
 
This conversion means -1, 0, and +1 are all exactly representable,
however -128 and -127 both map to -1.0. Mapping -128 to -1.0
avoids the numerical awkwardness of have a representable value
slightly more negative than -1.0.
 
This conversion is intentionally NOT the "byte" conversion listed
in Table 2.9 for component conversions. That conversion says:
 
Xf = (2*X + 1) / 255.0
 
The Table 2.9 conversion is incapable of exactly representing
zero.
 
(Difference to ARB_texture_compression_rgtc):
This is the same mapping as OpenGL 3.1 uses.
This is also different to what NV_texture_shader used.
The above mapping should be considered the reference, but there
is some leeway so other mappings are allowed for implementations which
cannot do this. Particularly the mapping given in NV_texture_shader or
the standard OpenGL byte/float mapping is considered acceptable too, as
might be a mapping which represents -1.0 by -128, 0.0 by 0 and 1.0 by
127 (that is, uses different scale factors for negative and positive
numbers).
Also, it is ok to store incoming GL_BYTE user data as-is, without
converting to GL_FLOAT (using the standard OpenGL float/byte mapping)
and converting back (using the mapping described here).
Other than those subtle issues there are no other non-standard
conversions used, so when using for instance CopyTexImage2D with
a framebuffer clamped to [0,1] all converted numbers will be in the range
[0, 127] (and not scaled and biased).
 
 
5) How will signed components resulting from RGBA8_SNORM texture
fetches interact with fragment coloring?
 
RESOLVED: Same as described in issue 6) of
ARB_texture_compression_rgtc (quote):
The specification language for this extension is silent
about clamping behavior leaving this to the core specification
and other extensions. The clamping or lack of clamping is left
to the core specification and other extensions.
 
For assembly program extensions supporting texture fetches
(ARB_fragment_program, NV_fragment_program, NV_vertex_program3,
etc.) or the OpenGL Shading Language, these signed formats will
appear as expected with unclamped signed components as a result
of a texture fetch instruction.
 
If ARB_color_buffer_float is supported, its clamping controls
will apply.
 
NV_texture_shader extension, if supported, adds support for
fixed-point textures with signed components and relaxed the
fixed-function texture environment clamping appropriately. If the
NV_texture_shader extension is supported, its specified behavior
for the texture environment applies where intermediate values
are clamped to [-1,1] unless stated otherwise as in the case
of explicitly clamped to [0,1] for GL_COMBINE. or clamping the
linear interpolation weight to [0,1] for GL_DECAL and GL_BLEND.
 
Otherwise, the conventional core texture environment clamps
incoming, intermediate, and output color components to [0,1].
 
This implies that the conventional texture environment
functionality of unextended OpenGL 1.5 or OpenGL 2.0 without
using GLSL (and with none of the extensions referred to above)
is unable to make proper use of the signed texture formats added
by this extension because the conventional texture environment
requires texture source colors to be clamped to [0,1]. Texture
filtering of these signed formats would be still signed, but
negative values generated post-filtering would be clamped to
zero by the core texture environment functionality. The
expectation is clearly that this extension would be co-implemented
with one of the previously referred to extensions or used with
GLSL for the new signed formats to be useful.
 
 
6) Should the RGBA_SNORM tokens also be accepted by CopyTexImage
functions?
 
RESOLVED: YES.
 
 
7) What to do with GetTexParameter if ARB_texture_float is supported,
in particular what datatype should this return for TEXTURE_RED_TYPE_ARB,
TEXTURE_GREEN_TYPE_ARB, TEXTURE_BLUE_TYPE_ARB, TEXTURE_ALPHA_TYPE_ARB?
 
RESOLVED: ARB_texture_float states type is either NONE,
UNSIGNED_NORMALIZED_ARB, or FLOAT. This extension adds a new enum,
SIGNED_NORMALIZED, which will be returned accordingly. This is the
same behaviour as in OpenGL 3.1.
 
 
New Tokens
 
 
Accepted by the <internalformat> parameter of
TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D:
 
RGBA_SNORM 0x8F93
RGBA8_SNORM 0x8F97
 
Returned by the <params> parameter of GetTexLevelParameter:
 
SIGNED_NORMALIZED 0x8F9C
 
 
Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization):
 
-- Section 3.8.1, Texture Image Specification
 
Add to Table 3.16 (page 154): Sized internal formats
 
Sized Base R G B A L I D
Internal Format Internal Format bits bits bits bits bits bits bits
--------------- --------------- ---- ---- ---- ---- ---- ---- ----
RGBA8_SNORM RGBA 8 8 8 8 0 0 0
 
 
Dependencies on ARB_texture_float extension:
 
If ARB_texture_float is supported, GetTexParameter queries with <value>
of TEXTURE_RED_TYPE_ARB, TEXTURE_GREEN_TYPE_ARB, TEXTURE_BLUE_TYPE_ARB or
TEXTURE_ALPHA_TYPE_ARB return SIGNED_NORMALIZED if
the base internal format is RGBA_SNORM.
/contrib/sdk/sources/Mesa/docs/specs/MESA_window_pos.spec
0,0 → 1,126
Name
 
MESA_window_pos
 
Name Strings
 
GL_MESA_window_pos
 
Contact
 
Brian Paul, brian.paul 'at' tungstengraphics.com
 
Status
 
Shipping (since Mesa version 1.2.8)
 
Version
 
 
Number
 
197
 
Dependencies
 
OpenGL 1.0 is required.
The extension is written against the OpenGL 1.2 Specification
 
Overview
 
In order to set the current raster position to a specific window
coordinate with the RasterPos command, the modelview matrix, projection
matrix and viewport must be set very carefully. Furthermore, if the
desired window coordinate is outside of the window's bounds one must
rely on a subtle side-effect of the Bitmap command in order to circumvent
frustum clipping.
 
This extension provides a set of functions to directly set the
current raster position, bypassing the modelview matrix, the
projection matrix and the viewport to window mapping. Furthermore,
clip testing is not performed.
 
This greatly simplifies the process of setting the current raster
position to a specific window coordinate prior to calling DrawPixels,
CopyPixels or Bitmap.
 
New Procedures and Functions
 
void WindowPos2dMESA(double x, double y)
void WindowPos2fMESA(float x, float y)
void WindowPos2iMESA(int x, int y)
void WindowPos2sMESA(short x, short y)
void WindowPos2ivMESA(const int *p)
void WindowPos2svMESA(const short *p)
void WindowPos2fvMESA(const float *p)
void WindowPos2dvMESA(const double *p)
void WindowPos3iMESA(int x, int y, int z)
void WindowPos3sMESA(short x, short y, short z)
void WindowPos3fMESA(float x, float y, float z)
void WindowPos3dMESA(double x, double y, double z)
void WindowPos3ivMESA(const int *p)
void WindowPos3svMESA(const short *p)
void WindowPos3fvMESA(const float *p)
void WindowPos3dvMESA(const double *p)
void WindowPos4iMESA(int x, int y, int z, int w)
void WindowPos4sMESA(short x, short y, short z, short w)
void WindowPos4fMESA(float x, float y, float z, float w)
void WindowPos4dMESA(double x, double y, double z, double )
void WindowPos4ivMESA(const int *p)
void WindowPos4svMESA(const short *p)
void WindowPos4fvMESA(const float *p)
void WindowPos4dvMESA(const double *p)
 
New Tokens
 
none
 
Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation)
 
- (2.12, p. 41) Insert after third paragraph:
 
Alternately, the current raster position may be set by one of the
WindowPosMESA commands:
 
void WindowPos{234}{sidf}MESA( T coords );
void WindowPos{234}{sidf}vMESA( T coords );
 
WindosPos4MESA takes four values indicating x, y, z, and w.
WindowPos3MESA (or WindowPos2MESA) is analaguos, but sets only
x, y, and z with w implicitly set to 1 (or only x and y with z
implicitly set to 0 and w implicitly set to 1).
 
WindowPosMESA operates like RasterPos except that the current modelview
matrix, projection matrix and viewport parameters are ignored and the
clip test operation always passes. The current raster position values
are directly set to the parameters passed to WindowPosMESA. The current
color, color index and texture coordinate update the current raster
position's associated data.
 
Additions to the AGL/GLX/WGL Specifications
 
None
 
GLX Protocol
 
Not specified at this time. However, a protocol message very similar
to that of RasterPos is expected.
 
Errors
 
INVALID_OPERATION is generated if WindowPosMESA is called between
Begin and End.
 
New State
 
None.
 
New Implementation Dependent State
 
None.
 
Revision History
 
* Revision 1.0 - Initial specification
* Revision 1.1 - Minor clean-up (7 Jan 2000, Brian Paul)
 
/contrib/sdk/sources/Mesa/docs/specs/MESA_ycbcr_texture.spec
0,0 → 1,204
Name
 
MESA_ycbcr_texture
 
Name Strings
 
GL_MESA_ycbcr_texture
 
Contact
 
Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com)
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
 
Status
 
Shipping (Mesa 4.0.4 and later)
 
Version
 
1.0
 
Number
 
TBD
 
Dependencies
 
OpenGL 1.0 or later is required
This extension is written against the OpenGL 1.4 Specification.
NV_texture_rectangle effects the definition of this extension.
 
Overview
 
This extension supports texture images stored in the YCbCr format.
There is no support for converting YCbCr images to RGB or vice versa
during pixel transfer. The texture's YCbCr colors are converted to
RGB during texture sampling, after-which, all the usual per-fragment
operations take place. Only 2D texture images are supported (not
glDrawPixels, glReadPixels, etc).
 
A YCbCr pixel (texel) is a 16-bit unsigned short with two components.
The first component is luminance (Y). For pixels in even-numbered
image columns, the second component is Cb. For pixels in odd-numbered
image columns, the second component is Cr. If one were to convert the
data to RGB one would need to examine two pixels from columns N and N+1
(where N is even) to deduce the RGB color.
 
IP Status
 
None
 
Issues
 
None
 
New Procedures and Functions
 
None
 
New Tokens
 
Accepted by the <internalFormat> and <format> parameters of
TexImage2D and TexSubImage2D:
 
YCBCR_MESA 0x8757
 
Accepted by the <type> parameter of TexImage2D and TexSubImage2D:
 
UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */
UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */
 
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
 
None
 
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
 
In section 3.6.4, Rasterization of Pixel Rectangles, on page 101,
add the following to Table 3.8 (Packed pixel formats):
type Parameter GL Data Number of Matching
Token Name Type Components Pixel Formats
-------------- ------- ---------- -------------
UNSIGNED_SHORT_8_8_MESA ushort 2 YCBCR_MESA
UNSIGNED_SHORT_8_8_REV_MESA ushort 2 YCBCR_MESA
 
 
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
add the following to Table 3.10 (UNSIGNED_SHORT formats):
 
UNSIGNED_SHORT_8_8_MESA:
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-------------------------------+-------------------------------+
| 1st | 2nd |
+-------------------------------+-------------------------------+
UNSIGNED_SHORT_8_8_REV_MESA:
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-------------------------------+-------------------------------+
| 2nd | 1st |
+-------------------------------+-------------------------------+
 
 
In section 3.6.4, Rasterization of Pixel Rectangles, on page 104,
add the following to Table 3.12 (Packed pixel field assignments):
 
First Second Third Fourth
Format Element Element Element Element
------ ------- ------- ------- -------
YCBCR_MESA luminance chroma
 
 
In section 3.8.1, Texture Image Specification, on page 125, add
another item to the list of TexImage2D and TexImage3D equivalence
exceptions:
 
* The value of internalformat and format may be YCBCR_MESA to
indicate that the image data is in YCbCr format. type must
be either UNSIGNED_SHORT_8_8_MESA or UNSIGNED_SHORT_8_8_REV_MESA
as seen in tables 3.8 and 3.10. Table 3.12 describes the mapping
between Y and Cb/Cr to the components.
If NV_texture_rectangle is supported target may also be
TEXTURE_RECTANGLE_NV or PROXY_TEXTURE_RECTANGLE_NV.
All pixel transfer operations are bypassed. The texture is stored as
YCbCr, not RGB. Queries of the texture's red, green and blue component
sizes will return zero. The YCbCr colors are converted to RGB during
texture sampling using an implementation dependent conversion.
 
 
In section 3.8.1, Texture Image Specification, on page 126, add
another item to the list of TexImage1D and TexImage2D equivalence
exceptions:
 
* The value of internalformat and format can not be YCBCR_MESA.
 
 
In section 3.8.2, Alternate Texture Image Specification Commands, on
page 129, insert this paragraph after the first full paragraph on the
page:
 
"If the internal storage format of the image being updated by
TexSubImage2D is YCBCR_MESA then format must be YCBCR_MESA.
The error INVALID_OPERATION will be generated otherwise."
 
 
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
Operations and the Frame Buffer)
 
None
 
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
 
None
 
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
State Requests)
 
None
 
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
 
None
 
Additions to the AGL/GLX/WGL Specifications
 
None
 
GLX Protocol
 
None
 
Errors
 
INVALID_ENUM is generated by TexImage2D if <internalFormat> is
MESA_YCBCR but <format> is not MESA_YCBCR.
 
INVALID_ENUM is generated by TexImage2D if <format> is MESA_YCBCR but
<internalFormat> is not MESA_YCBCR.
 
INVALID_VALUE is generated by TexImage2D if <format> is MESA_YCBCR and
<internalFormat> is MESA_YCBCR and <border> is not zero.
 
INVALID_OPERATION is generated by TexSubImage2D if the internal image
format is YCBCR_MESA and <format> is not YCBCR_MESA.
 
INVALID_OPERATION is generated by CopyTexSubImage2D if the internal
image is YCBCR_MESA.
New State
 
Edit table 6.16 on page 231: change the type of TEXTURE_INTERNAL_FORMAT
from n x Z42 to n x Z43 to indicate that internal format may also be
YCBCR_MESA.
 
Revision History
 
20 September 2002 - Initial draft
29 April 2003 - minor updates
3 September 2003 - further clarify when YCbCr->RGB conversion takes place
19 September 2003 - a few more updates prior to submitting to extension
registry.
3 April 2004 - fix assorted inaccuracies
/contrib/sdk/sources/Mesa/docs/specs/OLD/MESA_packed_depth_stencil.spec
0,0 → 1,230
Name
 
MESA_packed_depth_stencil
 
Name Strings
 
GL_MESA_packed_depth_stencil
 
Contact
 
Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com)
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
 
Status
 
Obsolete.
 
Version
 
 
Number
 
???
 
Dependencies
 
EXT_abgr affects the definition of this extension
SGIS_texture4D affects the definition of this extension
EXT_cmyka affects the definition of this extension
ARB_packed_pixels affects the definition of this extension
 
Overview
Provides a mechanism for DrawPixels and ReadPixels to efficiently
transfer depth and stencil image data. Specifically, we defined new
packed pixel formats and types which pack both stencil and depth
into one value.
 
Issues:
 
1. Is this the right way to distinguish between 24/8 and 8/24
pixel formats? Should we instead provide both:
GL_DEPTH_STENCIL_MESA
GL_STENCIL_DEPTH_MESA
 
And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ?
 
2. If not, is it correct to use _REV to indicate that stencil
preceeds depth in the 1_15 and 8_24 formats?
 
3. Do we really want the GL_UNSIGNED_SHORT formats?
 
New Procedures and Functions
 
None.
 
New Tokens
Accepted by the <format> parameter of ReadPixels and DrawPixels:
 
GL_DEPTH_STENCIL_MESA 0x8750
 
Accepted by the <type> parameter of ReadPixels and DrawPixels:
 
GL_UNSIGNED_INT_24_8_MESA 0x8751
GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
GL_UNSIGNED_SHORT_15_1_MESA 0x8753
GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
 
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
 
None
 
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
 
One entry is added to table 3.5 (DrawPixels and ReadPixels formats).
The new table is:
 
Target
Format Name Buffer Element Meaning and Order
----------- ------ -------------------------
COLOR_INDEX Color Color index
STENCIL_INDEX Stencil Stencil index
DEPTH_COMPONENT Depth Depth component
RED Color R component
GREEN Color G component
BLUE Color B component
ALPHA Color A component
RGB Color R, G, B components
RGBA Color R, G, B, A components
BGRA Color B, G, R, A components
ABGR_EXT Color A, B, G, R components
CMYK_EXT Color Cyan, Magenta, Yellow, Black components
CMYKA_EXT Color Cyan, Magenta, Yellow, Black, A components
LUMINANCE Color Luminance component
LUMINANCE_ALPHA Color Luminance, A components
DEPTH_STENCIL Depth, Depth component, stencil index.
Stencil
 
Table 3.5: DrawPixels and ReadPixels formats. The third column
gives a description of and the number and order of elements in a
group.
 
Add to the description of packed pixel formats:
 
<type> Parameter Data of Matching
Token Name Type Elements Pixel Formats
---------------- ---- -------- -------------
 
UNSIGNED_BYTE_3_3_2 ubyte 3 RGB
UNSIGNED_BYTE_2_3_3_REV ubyte 3 RGB
UNSIGNED_SHORT_5_6_5 ushort 3 RGB
UNSIGNED_SHORT_5_6_5_REV ushort 3 RGB
UNSIGNED_SHORT_4_4_4_4 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_SHORT_4_4_4_4_REV ushort 4 RGBA,BGRA
UNSIGNED_SHORT_5_5_5_1 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_SHORT_1_5_5_5_REV ushort 4 RGBA,BGRA
UNSIGNED_INT_8_8_8_8 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_INT_8_8_8_8_REV uint 4 RGBA,BGRA
UNSIGNED_INT_10_10_10_2 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
UNSIGNED_INT_2_10_10_10_REV uint 4 RGBA,BGRA
UNSIGNED_SHORT_15_1_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_SHORT_1_15_REV_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_SHORT_24_8_MESA ushort 2 DEPTH_STENCIL_MESA
UNSIGNED_SHORT_8_24_REV_MESA ushort 2 DEPTH_STENCIL_MESA
 
UNSIGNED_INT_8_24:
 
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-----------------------+-----------------------------------------------------------------------+
| | |
+-----------------------+-----------------------------------------------------------------------+
 
first second
element element
 
 
UNSIGNED_INT_24_8:
 
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+----------------------------------------------------------------------+------------------------+
| | |
+----------------------------------------------------------------------+------------------------+
 
first second
element element
 
UNSIGNED_SHORT_15_1:
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+-----------------------------------------------------------+---+
| | |
+-----------------------------------------------------------+---+
 
first second
element element
 
 
UNSIGNED_SHORT_1_15_REV:
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+---+-----------------------------------------------------------+
| | |
+---+-----------------------------------------------------------+
 
second first
element element
 
The assignment of elements to fields in the packed pixel is as
described in the table below:
 
First Second Third Fourth
Format Element Element Element Element
------ ------- ------- ------- -------
RGB red green blue
RGBA red green blue alpha
BGRA blue green red alpha
ABGR_EXT alpha blue green red
CMYK_EXT cyan magenta yellow black
DEPTH_STENCIL_MESA depth stencil
 
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
and the Frame Buffer)
 
The new format is added to the discussion of Obtaining Pixels from the
Framebuffer. It should read " If the <format> is one of RED, GREEN,
BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, and
the GL is in color index mode, then the color index is obtained."
 
The new format is added to the discussion of Index Lookup. It should
read "If <format> is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA,
ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, then the index is used to
reference 4 tables of color components: PIXEL_MAP_I_TO_R,
PIXEL_MAP_I_TO_G, PIXEL_MAP_I_TO_B, and PIXEL_MAP_I_TO_A."
 
 
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
 
None
 
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
 
None
 
Additions to the GLX Specification
 
None
 
GLX Protocol
 
TBD
 
Errors
 
None
 
New State
 
None
 
Revision History
 
Version 1.0 - 23 Sep 2000
Keith's original version.
 
Version 1.1 - 3 Nov 2000
Brian's edits, assigned values to new enums.
 
/contrib/sdk/sources/Mesa/docs/specs/OLD/MESA_program_debug.spec
0,0 → 1,356
Name
 
MESA_program_debug
 
Name Strings
 
GL_MESA_program_debug
 
Contact
 
Brian Paul (brian.paul 'at' tungstengraphics.com)
 
Status
 
XXX - Not complete yet!!!
 
Version
 
Last Modified Date: July 20, 2003
Author Revision: 1.0
 
Number
 
TBD
 
Dependencies
 
OpenGL 1.4 is required
The extension is written against the OpenGL 1.4 specification.
ARB_vertex_program or ARB_fragment_program or NV_vertex_program
or NV_fragment_program is required.
 
Overview
 
The extension provides facilities for implementing debuggers for
vertex and fragment programs.
 
The concept is that vertex and fragment program debuggers will be
implemented outside of the GL as a utility package. This extension
only provides the minimal hooks required to implement a debugger.
 
There are facilities to do the following:
1. Have the GL call a user-specified function prior to executing
each vertex or fragment instruction.
2. Query the current program string's execution position.
3. Query the current values of intermediate program values.
 
The main feature is the ProgramCallbackMESA function. It allows the
user to register a callback function with the GL. The callback will
be called prior to executing each vertex or fragment program instruction.
 
From within the callback, the user may issue Get* commands to
query current GL state. The GetProgramRegisterfvMESA function allows
current program values to be queried (such as temporaries, input
attributes, and result registers).
 
There are flags for enabling/disabling the program callbacks.
 
The current execution position (as an offset from the start of the
program string) can be queried with
GetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos) or
GetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos).
 
 
IP Status
 
None
 
Issues
 
1. Is this the right model for a debugger?
 
It seems prudent to minimize the scope of this extension and leave
it up to the developer (or developer community) to write debuggers
that layer on top of this extension.
 
If the debugger were fully implemented within the GL it's not
clear how terminal and GUI-based interfaces would work, for
example.
 
2. There aren't any other extensions that register callbacks with
the GL. Isn't there another solution?
 
If we want to be able to single-step through vertex/fragment
programs I don't see another way to do it.
 
3. How do we prevent the user from doing something crazy in the
callback function, like trying to call glBegin (leading to
recursion)?
 
The rule is that the callback function can only issue glGet*()
functions and no other GL commands. It could be difficult to
enforce this, however. Therefore, calling any non-get GL
command from within the callback will result in undefined
results.
 
4. Is this extension amenable to hardware implementation?
 
Hopefully, but if not, the GL implementation will have to fall
back to a software path when debugging. This may be acceptable
for debugging.
 
5. What's the <data> parameter to ProgramCallbackMESA for?
 
It's a common programming practice to associate a user-supplied
value with callback functions.
 
6. Debuggers often allow one to modify intermediate program values,
then continue. Does this extension support that?
 
No.
 
 
New Procedures and Functions (and datatypes)
 
typedef void (*programcallbackMESA)(enum target, void *data)
 
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
void *data)
 
void GetProgramRegisterfvMESA(enum target, sizei len,
const ubyte *registerName, float *v)
 
New Tokens
 
Accepted by the <cap> parameter of Enable, Disable, IsEnabled,
GetBooleanv, GetDoublev, GetFloatv and GetIntegerv:
 
FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1
VERTEX_PROGRAM_CALLBACK_MESA 0x8bb4
 
Accepted by the <pname> parameter GetBooleanv, GetDoublev,
GetFloatv and GetIntegerv:
 
FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0
VERTEX_PROGRAM_POSITION_MESA 0x8bb4
 
Accepted by the <pname> parameter of GetPointerv:
 
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3
VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6
VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7
 
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
 
None.
 
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
 
None.
 
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
Operations and the Frame Buffer)
 
None.
 
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
 
In section 5.4 "Display Lists", page 202, add the following command
to the list of those that are not compiled into display lists:
 
ProgramCallbackMESA.
 
 
Add a new section 5.7 "Callback Functions"
 
The function
 
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
void *data)
 
registers a user-defined callback function with the GL. <target>
may be FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB. The enabled
callback functions registered with these targets will be called
prior to executing each instruction in the current fragment or
vertex program, respectively. The callbacks are enabled and
disabled by calling Enable or Disable with <cap>
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB.
 
The callback function's signature must match the typedef
 
typedef void (*programcallbackMESA)(enum target, void *data)
 
When the callback function is called, <target> will either be
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB to indicate which
program is currently executing and <data> will be the value
specified when ProgramCallbackMESA was called.
 
From within the callback function, only the following GL commands
may be called:
 
GetBooleanv
GetDoublev
GetFloatv
GetIntegerv
GetProgramLocalParameter
GetProgramEnvParameter
GetProgramRegisterfvMESA
GetProgramivARB
GetProgramStringARB
GetError
 
Calling any other command from within the callback results in
undefined behaviour.
 
 
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
State Requests)
 
Add a new section 6.1.3 "Program Value Queries":
 
The command
 
void GetProgramRegisterfvMESA(enum target, sizei len,
const ubyte *registerName,
float *v)
Is used to query the value of program variables and registers
during program execution. GetProgramRegisterfvMESA may only be
called from within a callback function registered with
ProgramCallbackMESA.
 
<registerName> and <len> specify the name a variable, input
attribute, temporary, or result register in the program string.
The current value of the named variable is returned as four
values in <v>. If <name> doesn't exist in the program string,
the error INVALID_OPERATION is generated.
 
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
 
None.
 
Additions to the AGL/GLX/WGL Specifications
 
None.
 
GLX Protocol
 
XXX TBD
 
Dependencies on NV_vertex_program and NV_fragment_program
 
If NV_vertex_program and/or NV_fragment_program are supported,
vertex and/or fragment programs defined by those extensions may
be debugged as well. Register queries will use the syntax used
by those extensions (i.e. "v[X]" to query vertex attributes,
"o[X]" for vertex outputs, etc.)
 
Errors
 
INVALID_OPERATION is generated if ProgramCallbackMESA is called
between Begin and End.
 
INVALID_ENUM is generated by ProgramCallbackMESA if <target> is not
a supported vertex or fragment program type.
 
Note: INVALID_OPERAION IS NOT generated by GetProgramRegisterfvMESA,
GetBooleanv, GetDoublev, GetFloatv, or GetIntegerv if called between
Begin and End when a vertex or fragment program is currently executing.
 
INVALID_ENUM is generated by ProgramCallbackMESA,
GetProgramRegisterfvMESA if <target> is not a program target supported
by ARB_vertex_program, ARB_fragment_program (or NV_vertex_program or
NV_fragment_program).
 
INVALID_VALUE is generated by GetProgramRegisterfvMESA if <registerName>
does not name a known program register or variable.
 
INVALID_OPERATION is generated by GetProgramRegisterfvMESA when a
register query is attempted for a program target that's not currently
being executed.
 
 
New State
 
XXX finish
 
(table 6.N, p. ###)
Initial
Get Value Type Get Command Value Description Sec. Attribute
--------- ---- ----------- ----- ----------- ---- ---------
FRAGMENT_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
VERTEX_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
FRAGMENT_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
VERTEX_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
VERTEX_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
VERTEX_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
 
XXX more?
 
New Implementation Dependent State
 
None.
 
Revision History
 
8 July 2003
Initial draft. (Brian Paul)
11 July 2003
Second draft. (Brian Paul)
20 July 2003
Third draft. Lots of fundamental changes. (Brian Paul)
23 July 2003
Added chapter 5 and 6 spec language. (Brian Paul)
 
Example Usage
 
The following is a very simple example of how this extension may
be used to print the values of R0, R1, R2 and R3 while executing
vertex programs.
 
 
/* This is called by the GL when the vertex program is executing.
* We can only make glGet* calls from within this function!
*/
void DebugCallback(GLenum target, GLvoid *data)
{
GLint pos;
GLuint i;
 
/* Get PC and current instruction string */
glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_ARB, &pos);
 
printf("Current position: %d\n", pos);
 
printf("Current temporary registers:\n");
for (i = 0; i < 4; i++) {
GLfloat v[4];
char s[10];
sprintf(s, "R%d", i);
glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_ARB, strlen(s), s, v);
printf("R%d = %g, %g, %g, %g\n", i, v[0], v[1], v[2], v[3]);
}
}
 
 
/*
* elsewhere...
*/
 
/* Register our debugger callback function */
glProgramCallbackMESA(GL_VERTEX_PROGRAM_ARB, DebugCallback, NULL);
glEnable(GL_VERTEX_PROGRAM_CALLBACK_MESA);
 
/* define/bind a vertex program */
 
glEnable(GL_VERTEX_PROGRAM);
 
/* render something */
glBegin(GL_POINTS);
glVertex2f(0, 0);
glEnd();
 
/contrib/sdk/sources/Mesa/docs/specs/OLD/MESA_resize_buffers.spec
0,0 → 1,81
Name
 
MESA_resize_buffers
 
Name Strings
 
GL_MESA_resize_buffers
 
Contact
 
Brian Paul (brian.paul 'at' tungstengraphics.com)
 
Status
 
Obsolete.
 
Version
 
 
Number
 
196
 
Dependencies
 
Mesa 2.2 or later is required.
 
Overview
 
Mesa is often used as a client library with no integration with
the computer's window system (an X server, for example). And since
Mesa does not have an event loop nor window system callbacks, it
cannot properly respond to window system events. In particular,
Mesa cannot automatically detect when a window has been resized.
 
Mesa's glViewport command queries the current window size and updates
its internal data structors accordingly. This normally works fine
since most applications call glViewport in response to window size
changes.
 
In some situations, however, the application may not call glViewport
when a window size changes but would still like Mesa to adjust to
the new window size. This extension exports a new function to solve
this problem.
 
New Procedures and Functions
 
void glResizeBuffersMESA( void )
 
New Tokens
 
none
 
Additions to the OpenGL Specification (no particular section)
 
The glResizeBuffersMESA command may be called when the client
determines that a window has been resized. Calling
glResizeBuffersMESA causes Mesa to query the current window size
and adjust its internal data structures. This may include
reallocating depth, stencil, alpha and accumulation buffers.
 
Additions to the AGL/GLX/WGL Specifications
 
None
 
Errors
 
INVALID_OPERATION is generated if glResizeBuffersMESA is called between
Begin and End.
 
New State
 
None.
 
New Implementation Dependent State
 
None.
 
Revision History
 
* Revision 1.0 - Initial specification
/contrib/sdk/sources/Mesa/docs/specs/OLD/MESA_sprite_point.spec
0,0 → 1,190
Name
 
MESA_sprite_point
 
Name Strings
 
GL_MESA_sprite_point
 
Contact
 
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
 
Status
 
Obsolete - see GL_ARB_point_sprite.
 
Version
 
 
Number
 
???
 
Dependencies
 
GL_EXT_point_parameters effects the definition of this extension
GL_ARB_multitexture effects the definition of this extension
 
Overview
This extension modifies the way in which points are rendered,
specifically when they're textured. When SPRITE_POINT_MESA is enabled
a point is rendered as if it were a quadrilateral with unique texture
coordinates at each vertex. This extension effectively turns points
into sprites which may be rendered more easily and quickly than using
conventional textured quadrilaterals.
 
When using point size > 1 or attenuated points this extension is an
effective way to render many small sprite images for particle systems
or other effects.
 
Issues:
 
1. How are the texture coordinates computed?
 
The lower-left corner has texture coordinate (0,0,r,q).
The lower-right, (1,0,r,q). The upper-right, (1,1,r,q).
The upper-left, (0,1,r,q).
 
2. What about texgen and texture matrices?
 
Texgen and the texture matrix have no effect on the point's s and t
texture coordinates. The r and q coordinates may have been computed
by texgen or the texture matrix. Note that with a 3D texture and/or
texgen that the r coordinate could be used to select a slice in the
3D texture.
 
3. What about point smoothing?
 
When point smoothing is enabled, a triangle fan could be rendered
to approximate a circular point. This could be problematic to
define and implement so POINT_SMOOTH is ignored when drawing sprite
points.
 
Smoothed points can be approximated by using an appropriate texture
images, alpha testing and blending.
 
POLYGON_SMOOTH does effect the rendering of the quadrilateral, however.
 
4. What about sprite rotation?
 
There is none. Sprite points are always rendered as window-aligned
squares. One could define rotated texture images if desired. A 3D
texture and appropriate texture r coordinates could be used to
effectively specify image rotation per point.
 
5. What about POLYGON_MODE?
 
POLYGON_MODE does not effect the rasterization of the quadrilateral.
 
6. What about POLYGON_CULL?
 
TBD. Polygon culling is normally specified and implemented in the
transformation stage of OpenGL. However, some rasterization hardware
implements it later during triangle setup.
 
Polygon culling wouldn't be useful for sprite points since the
quadrilaterals are always defined in counter-clockwise order in
window space. For that reason, polygon culling should probably be
ignored.
 
7. Should sprite points be alpha-attenuated if their size is below the
point parameter's threshold size?
 
8. Should there be an advertisized maximum sprite point size?
 
No. Since we're rendering the point as a quadrilateral there's no
need to limit the size.
 
 
New Procedures and Functions
 
None.
 
New Tokens
Accepted by the <pname> parameter of Enable, Disable, IsEnabled,
GetIntegerv, GetBooleanv, GetFloatv and GetDoublev:
 
SPRITE_POINT_MESA 0x????
MAX_SPRITE_POINT_SIZE_MESA 0x???? (need this?)
 
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
 
None
 
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
 
Section ???.
 
When SPRITE_POINT_MESA is enabled points are rasterized as screen-
aligned quadrilaterals. If the four vertices of the quadrilateral
are labeled A, B, C, and D, starting at the lower-left corner and moving
counter-clockwise around the quadrilateral, then the vertex and
texture coordinates are computed as follows:
 
vertex window coordinate texture coordinate
A (x-r, y-r, z, w) (0, 0, r, q)
B (x+r, y-r, z, w) (1, 0, r, q)
C (x+r, y+r, z, w) (1, 1, r, q)
D (x-r, y+r, z, w) (0, 1, r, q)
 
where x, y, z, w are the point's window coordinates, r and q are the
point's 3rd and 4th texture coordinates and r is half the point's
size. The other vertex attributes (such as the color and fog coordinate)
are simply duplicated from the original point vertex.
 
Point size may either be specified with PointSize or computed
according to the EXT_point_parameters extension.
 
The new texture coordinates are not effected by texgen or the texture
matrix. Note, however, that the texture r and q coordinates are passed
unchanged and may have been computed with texgen and/or the texture
matrix.
 
If multiple texture units are present the same texture coordinate is
used for all texture units.
 
The point is then rendered as if it were a quadrilateral using the
normal point sampling rules. POLYGON_MODE does not effect the
rasterization of the quadrilateral but POLYGON_SMOOTH does.
 
POINT_SMOOTH has no effect when SPRITE_POINT_MESA is enabled.
 
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
and the Frame Buffer)
 
None.
 
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
 
None
 
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
 
None
 
Additions to the GLX Specification
 
None
 
GLX Protocol
 
TBD
 
Errors
 
None
 
New State
 
Add boolean variable SPRITE_POINT_MESA to the point attribute group.
 
Revision History
 
Version 1.0 - 4 Dec 2000
Original draft.
 
 
 
/contrib/sdk/sources/Mesa/docs/specs/OLD/MESA_trace.spec
0,0 → 1,359
Name
 
MESA_trace
 
Name Strings
 
GL_MESA_trace
 
Contact
Bernd Kreimeier, Loki Entertainment, bk 'at' lokigames.com
Brian Paul, VA Linux Systems, Inc., brianp 'at' valinux.com
 
Status
 
Obsolete.
 
Version
 
 
Number
 
none yet
 
Dependencies
 
OpenGL 1.2 is required.
The extension is written against the OpenGL 1.2 Specification
 
Overview
 
Provides the application with means to enable and disable logging
of GL calls including parameters as readable text. The verbosity
of the generated log can be controlled. The resulting logs are
valid (but possibly incomplete) C code and can be compiled and
linked for standalone test programs. The set of calls and the
amount of static data that is logged can be controlled at runtime.
The application can add comments and enable or disable tracing of GL
operations at any time. The data flow from the application to GL
and back is unaffected except for timing.
 
Application-side implementation of these features raises namespace
and linkage issues. In the driver dispatch table a simple
"chain of responsibility" pattern (aka "composable piepline")
can be added.
 
IP Status
 
The extension spec is in the public domain. The current implementation
in Mesa is covered by Mesa's XFree86-style copyright by the authors above.
This extension is partially inspired by the Quake2 QGL wrapper.
 
Issues
 
(1) Is this Extension obsolete because it can
be implemented as a wrapper DLL?
 
RESOLVED: No. While certain operating systems (Win32) provide linkers
that facilitate this kind of solution, other operating systems
(Linux) do not support hierarchical linking, so a wrapper solution
would result in symbol collisions.
Further, IHV's might have builtin support for tracing GL execution
that enjoys privileged access, or that they do not wish to separate
the tracing code from their driver code base.
 
(2) Should the Trace API explicitely support the notion of "frames?
This would require hooking into glXSwapBuffers calls as well.
 
RESOLVED: No. The application can use NewTraceMESA/EndTraceMESA
and TraceComment along with external parsing tools to split the
trace into frames, in whatever way considered adequate.
 
(2a) Should GLX calls be traced?
 
PBuffers and other render-to-texture solutions demonstrate that
context level commands beyond SwapBuffers might have to be
traced. The GL DLL exports the entry points, so this would not
be out of the question.
 
(3) Should the specification mandate the actual output format?
 
RESOLVED: No. It is sufficient to guarantee that all data and commands
will be traced as requested by Enable/DisableTraceMESA, in the order
encountered. Whether the resulting trace is available as a readable
text file, binary metafile, compilable source code, much less which
indentation and formatting has been used, is up to the implementation.
For the same reason this specification does not enforce or prohibit
additional information added to the trace (statistics, profiling/timing,
warnings on possible error conditions).
 
(4) Should the comment strings associated with names and pointer (ranges)
be considered persistent state?
 
RESOLVED: No. The implementation is not forced to use this information
on subsequent occurences of name/pointer, and is free to consider it
transient state.
(5) Should comment commands be prohibited between Begin/End?
 
RESOLVED: Yes, with the exception of TraceCommentMESA. TraceCommentMESA
is transient, the other commands might cause storage of persistent
data in the context. There is no need to have the ability mark names
or pointers between Begin and End.
 
 
New Procedures and Functions
void NewTraceMESA( bitfield mask, const ubyte * traceName )
 
void EndTraceMESA( void )
 
void EnableTraceMESA( bitfield mask )
 
void DisableTraceMESA( bitfield mask )
 
void TraceAssertAttribMESA( bitfield attribMask )
 
void TraceCommentMESA( const ubyte* comment )
 
void TraceTextureMESA( uint name, const ubyte* comment )
 
void TraceListMESA( uint name, const ubyte* comment )
 
void TracePointerMESA( void* pointer, const ubyte* comment )
 
void TracePointerRangeMESA( const void* first,
const void* last,
const ubyte* comment )
 
New Tokens
Accepted by the <mask> parameter of EnableTrace and DisableTrace:
 
TRACE_ALL_BITS_MESA 0xFFFF
TRACE_OPERATIONS_BIT_MESA 0x0001
TRACE_PRIMITIVES_BIT_MESA 0x0002
TRACE_ARRAYS_BIT_MESA 0x0004
TRACE_TEXTURES_BIT_MESA 0x0008
TRACE_PIXELS_BIT_MESA 0x0010
TRACE_ERRORS_BIT_MESA 0x0020
 
Accepted by the <pname> parameter of GetIntegerv, GetBooleanv,
GetFloatv, and GetDoublev:
 
TRACE_MASK_MESA 0x8755
 
Accepted by the <pname> parameter to GetString:
 
TRACE_NAME_MESA 0x8756
 
 
Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation)
 
None.
 
Additions to Chapter 3 of the OpenGL 1.2.1 Specification (OpenGL Operation)
 
None.
 
Additions to Chapter 4 of the OpenGL 1.2.1 Specification (OpenGL Operation)
 
None.
 
Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions)
 
Add a new section:
 
5.7 Tracing
 
The tracing facility is used to record the execution of a GL program
to a human-readable log. The log appears as a sequence of GL commands
using C syntax. The primary intention of tracing is to aid in program
debugging.
 
A trace is started with the command
 
void NewTraceMESA( bitfield mask, const GLubyte * traceName )
 
<mask> may be any value accepted by PushAttrib and specifies a set of
attribute groups. The state values included in those attribute groups
is written to the trace as a sequence of GL commands.
 
<traceName> specifies a name or label for the trace. It is expected
that <traceName> will be interpreted as a filename in most implementations.
 
A trace is ended by calling the command
 
void EndTraceMESA( void )
 
It is illegal to call NewTraceMESA or EndTraceMESA between Begin and End.
 
The commands
 
void EnableTraceMESA( bitfield mask )
void DisableTraceMESA( bitfield mask )
 
enable or disable tracing of different classes of GL commands.
<mask> may be the union of any of TRACE_OPERATIONS_BIT_MESA,
TRACE_PRIMITIVES_BIT_MESA, TRACE_ARRAYS_BIT_MESA, TRACE_TEXTURES_BIT_MESA,
and TRACE_PIXELS_BIT_MESA. The special token TRACE_ALL_BITS_MESA
indicates all classes of commands are to be logged.
 
TRACE_OPERATIONS_BIT_MESA controls logging of all commands outside of
Begin/End, including Begin/End.
TRACE_PRIMITIVES_BIT_MESA controls logging of all commands inside of
Begin/End, including Begin/End.
TRACE_ARRAYS_BIT_MESA controls logging of VertexPointer, NormalPointer,
ColorPointer, IndexPointer, TexCoordPointer and EdgeFlagPointer commands.
 
TRACE_TEXTURES_BIT_MESA controls logging of texture data dereferenced by
TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, and
TexSubImage3D commands.
 
TRACE_PIXELS_BIT_MESA controls logging of image data dereferenced by
Bitmap and DrawPixels commands.
 
TRACE_ERRORS_BIT_MESA controls logging of all errors. If this bit is
set, GetError will be executed whereever applicable, and the result will
be added to the trace as a comment. The error returns are cached and
returned to the application on its GetError calls. If the user does not
wish the additional GetError calls to be performed, this bit should not
be set.
The command
 
void TraceCommentMESA( const ubyte* comment )
 
immediately adds the <comment> string to the trace output, surrounded
by C-style comment delimiters.
 
The commands
 
void TraceTextureMESA( uint name, const ubyte* comment )
void TraceListMESA( uint name, const ubyte* comment )
 
associates <comment> with the texture object or display list specified
by <name>. Logged commands which reference the named texture object or
display list will be annotated with <comment>. If IsTexture(name) or
IsList(name) fail (respectively) the command is quietly ignored.
 
The commands
 
void TracePointerMESA( void* pointer, const ubyte* comment )
 
void TracePointerRangeMESA( const void* first,
const void* last,
const ubyte* comment )
 
associate <comment> with the address specified by <pointer> or with
a range of addresses specified by <first> through <last>.
Any logged commands which reference <pointer> or an address between
<first> and <last> will be annotated with <comment>.
 
The command
 
void TraceAssertAttribMESA( bitfield attribMask )
 
will add GL state queries and assertion statements to the log to
confirm that the current state at the time TraceAssertAttrib is
executed matches the current state when the trace log is executed
in the future.
 
<attribMask> is any value accepted by PushAttrib and specifies
the groups of state variables which are to be asserted.
 
The commands NewTraceMESA, EndTraceMESA, EnableTraceMESA, DisableTraceMESA,
TraceAssertAttribMESA, TraceCommentMESA, TraceTextureMESA, TraceListMESA,
TracePointerMESA and TracePointerRangeMESA are not compiled into display lists.
 
 
Examples:
 
The command NewTraceMESA(DEPTH_BUFFER_BIT, "log") will query the state
variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
to get the values <test>, <func>, <mask>, and <clear> respectively.
Statements equivalent to the following will then be logged:
 
glEnable(GL_DEPTH_TEST); (if <test> is true)
glDisable(GL_DEPTH_TEST); (if <test> is false)
glDepthFunc(<func>);
glDepthMask(<mask>);
glClearDepth(<clear>);
 
The command TraceAssertAttribMESA(DEPTH_BUFFER_BIT) will query the state
variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
to get the values <test>, <func>, <mask>, and <clear> respectively.
The resulting trace might then look will like this:
 
{
GLboolean b;
GLint i;
GLfloat f;
b = glIsEnabled(GL_DEPTH_TEST);
assert(b == <test>);
glGetIntegerv(GL_DEPTH_FUNC, &i);
assert(i == <func>);
glGetIntegerv(GL_DEPTH_MASK, &i);
assert(i == <mask>);
glGetFloatv(GL_DEPTH_CLEAR_VALUE, &f);
assert(f == <clear>);
}
 
 
Additions to Chapter 6 of the OpenGL 1.2.1 Specification
(State and State Requests)
 
Querying TRACE_MASK_MESA with GetIntegerv, GetFloatv, GetBooleanv or
GetDoublev returns the current command class trace mask.
 
Querying TRACE_NAME_MESA with GetString returns the current trace name.
 
 
Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance)
 
The MESA_trace extension can be used in a way that does not affect data
flow from application to OpenGL, as well as data flow from OpenGL to
application, except for timing, possible print I/O. TRACE_ERRORS_BIT_MESA
will add additional GetError queries. Setting a trace mask with NewTraceMESA
as well as use of TraceAssertAttribMESA might cause additional state queries.
With the possible exception of performance, OpenGL rendering should not be
affected at all by a properly chosen logging operation.
 
Additions to the AGL/GLX/WGL Specifications
 
None.
 
GLX Protocol
 
None. The logging operation is carried out client-side, by exporting
entry points to the wrapper functions that execute the logging operation.
 
Errors
 
INVALID_OPERATION is generated if any trace command except TraceCommentMESA
is called between Begin and End.
 
New State
 
The current trace name and current command class mask are stored
per-context.
 
New Implementation Dependent State
 
None.
 
Revision History
 
* Revision 0.1 - Initial draft from template (bk000415)
* Revision 0.2 - Draft (bk000906)
* Revision 0.3 - Draft (bk000913)
* Revision 0.4 - Reworked text, fixed typos (bp000914)
* Revision 0.5 - Assigned final GLenum values (bp001103)
* Revision 0.6 - TRACE_ERRORS_BIT_MESA (bk000916)
* Revision 0.7 - Added MESA postfix (bk010126)
 
/contrib/sdk/sources/Mesa/docs/specs/WL_bind_wayland_display.spec
0,0 → 1,175
Name
 
WL_bind_wayland_display
 
Name Strings
 
EGL_WL_bind_wayland_display
 
Contact
 
Kristian Høgsberg <krh@bitplanet.net>
Benjamin Franzke <benjaminfranzke@googlemail.com>
 
Status
 
Proposal
 
Version
 
Version 1, March 1, 2011
 
Number
 
EGL Extension #not assigned
 
Dependencies
 
Requires EGL 1.4 or later. This extension is written against the
wording of the EGL 1.4 specification.
 
EGL_KHR_base_image is required.
 
Overview
 
This extension provides entry points for binding and unbinding the
wl_display of a Wayland compositor to an EGLDisplay. Binding a
wl_display means that the EGL implementation should provide one or
more interfaces in the Wayland protocol to allow clients to create
wl_buffer objects. On the server side, this extension also
provides a new target for eglCreateImageKHR, to create an EGLImage
from a wl_buffer
 
Adding an implementation specific wayland interface, allows the
EGL implementation to define specific wayland requests and events,
needed for buffer sharing in an EGL wayland platform.
 
IP Status
 
Open-source; freely implementable.
 
New Procedures and Functions
 
EGLBoolean eglBindWaylandDisplayWL(EGLDisplay dpy,
struct wl_display *display);
 
EGLBoolean eglUnbindWaylandDisplayWL(EGLDisplay dpy,
struct wl_display *display);
 
EGLBoolean eglQueryWaylandBufferWL(EGLDisplay dpy,
struct wl_buffer *buffer,
EGLint attribute, EGLint *value);
 
New Tokens
 
Accepted as <target> in eglCreateImageKHR
 
EGL_WAYLAND_BUFFER_WL 0x31D5
 
Accepted in the <attrib_list> parameter of eglCreateImageKHR:
 
EGL_WAYLAND_PLANE_WL 0x31D6
 
Possible values for EGL_TEXTURE_FORMAT:
 
EGL_TEXTURE_Y_U_V_WL 0x31D7
EGL_TEXTURE_Y_UV_WL 0x31D8
EGL_TEXTURE_Y_XUXV_WL 0x31D9
 
 
Additions to the EGL 1.4 Specification:
 
To bind a server side wl_display to an EGLDisplay, call
 
EGLBoolean eglBindWaylandDisplayWL(EGLDisplay dpy,
struct wl_display *display);
 
To unbind a server side wl_display from an EGLDisplay, call
EGLBoolean eglUnbindWaylandDisplayWL(EGLDisplay dpy,
struct wl_display *display);
 
eglBindWaylandDisplayWL returns EGL_FALSE when there is already a
wl_display bound to EGLDisplay otherwise EGL_TRUE.
 
eglUnbindWaylandDisplayWL returns EGL_FALSE when there is no
wl_display bound to the EGLDisplay currently otherwise EGL_TRUE.
 
A wl_buffer can have several planes, typically in case of planar
YUV formats. Depending on the exact YUV format in use, the
compositor will have to create one or more EGLImages for the
various planes. The eglQueryWaylandBufferWL function should be
used to first query the wl_buffer texture format using
EGL_TEXTURE_FORMAT as the attribute. If the wl_buffer object is
not an EGL wl_buffer (wl_shm and other wayland extensions can
create wl_buffer objects of different types), this query will
return EGL_FALSE. In that case the wl_buffer can not be used with
EGL and the compositor should have another way to get the buffer
contents.
 
If eglQueryWaylandBufferWL succeeds, the returned value will be
one of EGL_TEXTURE_RGB, EGL_TEXTURE_RGBA, EGL_TEXTURE_Y_U_V_WL,
EGL_TEXTURE_Y_UV_WL, EGL_TEXTURE_Y_XUXV_WL. The value returned
describes how many EGLImages must be used, which components will
be sampled from each EGLImage and how they map to rgba components
in the shader. The naming conventions separates planes by _ and
within each plane, the order or R, G, B, A, Y, U, and V indicates
how those components map to the rgba value returned by the
sampler. X indicates that the corresponding component in the rgba
value isn't used.
 
RGB and RGBA buffer types:
 
EGL_TEXTURE_RGB
One plane, samples RGB from the texture to rgb in the
shader. Alpha channel is not valid.
 
EGL_TEXTURE_RGBA
One plane, samples RGBA from the texture to rgba in the
shader.
 
YUV buffer types:
 
EGL_TEXTURE_Y_U_V_WL
Three planes, samples Y from the first plane to r in
the shader, U from the second plane to r, and V from
the third plane to r.
 
EGL_TEXTURE_Y_UV_WL
Two planes, samples Y from the first plane to r in
the shader, U and V from the second plane to rg.
 
EGL_TEXTURE_Y_XUXV_WL
Two planes, samples Y from the first plane to r in
the shader, U and V from the second plane to g and a.
 
After querying the wl_buffer layout, create EGLImages for the
planes by calling eglCreateImageKHR with wl_buffer as
EGLClientBuffer, EGL_WAYLAND_BUFFER_WL as the target, NULL
context. If no attributes are given, an EGLImage will be created
for the first plane. For multi-planar buffers, specify the plane
to create the EGLImage for by using the EGL_WAYLAND_PLANE_WL
attribute. The value of the attribute is the index of the plane,
as defined by the buffer format. Writing to an EGLImage created
from a wl_buffer in any way (such as glTexImage2D, binding the
EGLImage as a renderbuffer etc) will result in undefined behavior.
 
Further, eglQueryWaylandBufferWL accepts attributes EGL_WIDTH and
EGL_HEIGHT to query the width and height of the wl_buffer.
 
Issues
 
Revision History
 
Version 1, March 1, 2011
Initial draft (Benjamin Franzke)
Version 2, July 5, 2012
Add EGL_WAYLAND_PLANE_WL attribute to allow creating an EGLImage
for different planes of planar buffer. (Kristian Høgsberg)
Version 3, July 10, 2012
Add eglQueryWaylandBufferWL and the various buffer
formats. (Kristian Høgsberg)
Version 4, July 19, 2012
Use EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGB, and EGL_TEXTURE_RGBA,
and just define the new YUV texture formats. Add support for
EGL_WIDTH and EGL_HEIGHT in the query attributes (Kristian Høgsberg)
/contrib/sdk/sources/Mesa/docs/specs/enums.txt
0,0 → 1,57
 
See the OpenGL ARB enum registry at http://www.opengl.org/registry/api/enum.spec
 
Blocks allocated to Mesa:
0x8750-0x875F
0x8BB0-0x8BBF
 
 
GL_MESA_packed_depth_stencil
GL_DEPTH_STENCIL_MESA 0x8750
GL_UNSIGNED_INT_24_8_MESA 0x8751
GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
GL_UNSIGNED_SHORT_15_1_MESA 0x8753
GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
 
GL_MESA_trace.spec:
GL_TRACE_ALL_BITS_MESA 0xFFFF
GL_TRACE_OPERATIONS_BIT_MESA 0x0001
GL_TRACE_PRIMITIVES_BIT_MESA 0x0002
GL_TRACE_ARRAYS_BIT_MESA 0x0004
GL_TRACE_TEXTURES_BIT_MESA 0x0008
GL_TRACE_PIXELS_BIT_MESA 0x0010
GL_TRACE_ERRORS_BIT_MESA 0x0020
GL_TRACE_MASK_MESA 0x8755
GL_TRACE_NAME_MESA 0x8756
 
MESA_ycbcr_texture.spec:
GL_YCBCR_MESA 0x8757
GL_UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */
GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */
 
GL_MESA_pack_invert.spec
GL_PACK_INVERT_MESA 0x8758
 
GL_MESA_shader_debug.spec: (obsolete)
GL_DEBUG_OBJECT_MESA 0x8759
GL_DEBUG_PRINT_MESA 0x875A
GL_DEBUG_ASSERT_MESA 0x875B
 
GL_MESA_program_debug.spec: (obsolete)
GL_FRAGMENT_PROGRAM_CALLBACK_MESA 0x????
GL_VERTEX_PROGRAM_CALLBACK_MESA 0x????
GL_FRAGMENT_PROGRAM_POSITION_MESA 0x????
GL_VERTEX_PROGRAM_POSITION_MESA 0x????
GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x????
GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x????
GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x????
GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x????
 
GL_MESAX_texture_stack:
GL_TEXTURE_1D_STACK_MESAX 0x8759
GL_TEXTURE_2D_STACK_MESAX 0x875A
GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B
GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C
GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D
GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E
 
/contrib/sdk/sources/Mesa/docs/systems.html
0,0 → 1,97
<!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>Supported Systems and Drivers</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Supported Systems and Drivers</h1>
 
<p>
Mesa is primarily developed and used on Linux systems.
But there's also support for Windows, other flavors of Unix and other
systems such as Haiku.
We're actively developing and maintaining several hardware and
software drivers.
</p>
 
<p>
The primary API is OpenGL but there's also support for OpenGL ES 1, ES2
and ES 3, OpenVG, OpenCL, VDPAU, XvMC and the EGL interface.
</p>
 
<p>
Hardware drivers include:
</p>
<ul>
<li>Intel i965, i945, i915.
See <a href="http://intellinuxgraphics.org/index.html">
Intel's website</a></li>
<li>AMD Radeon series.
See <a href="http://www.x.org/wiki/RadeonFeature">RadeonFeature</a></li>
<li>NVIDIA GPUs.
See <a href="http://nouveau.freedesktop.org">Nouveau Wiki</a></li>
<li><a href="http://www.x.org/wiki/vmware">VMware virtual GPU</a></li>
</ul>
 
<p>
Software drivers include:
</p>
<ul>
<li><a href="llvmpipe.html">llvmpipe</a> - uses LLVM for x86 JIT code
generation and is multi-threaded
<li>softpipe - a reference Gallium driver
<li>swrast - the legacy/original Mesa software rasterizer
</ul>
 
<p>
Additional driver information:
</p>
 
<ul>
<li><a href="http://dri.freedesktop.org/"> DRI hardware
drivers</a> for the X Window System
<li><a href="xlibdriver.html">Xlib / swrast driver</a> for the X Window System
and Unix-like operating systems
<li><a href="README.WIN32">Microsoft Windows</a>
<li><a href="vmware-guest.html">VMware</a> guest OS driver
</ul>
 
 
<h1>
Deprecated Systems and Drivers
</h1>
 
<p>
In the past there were other drivers for older GPUs and operating
systems.
These have been removed from the Mesa source tree and distribution.
If anyone's interested though, the code can be found in the git repo.
The list includes:
</p>
 
<ul>
<li>3dfx/glide
<li>Matrox
<li>ATI R128
<li>Savage
<li>VIA Unichrome
<li>SIS
<li>3Dlabs gamma
<li>DOS
<li>fbdev
<li>DEC/VMS
</ul>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/thanks.html
0,0 → 1,139
<!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>Acknowledgements</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Acknowledgments</h1>
 
 
The following individuals and groups are to be acknowledged for their
contributions to Mesa over the years.
This list is far from complete and somewhat dated, unfortunately.
 
 
<ul>
<li>Early Mesa development was done while Brian was part of the
<a href="http://www.ssec.wisc.edu/~billh/vis.html">
SSEC Visualization Project</a> at the University of
Wisconsin. He'd like to thank Bill Hibbard for letting him work on
Mesa as part of that project.
<br>
<br>
<li>John Carmack of id Software, Inc. funded Keith Whitwell in 1999 in
order to optimize Mesa's vertex transformation module. This is a very
substantial piece of work.
<br>
<br>
<li>Precision Insight, Inc., VA Linux Systems, Inc., and most recently,
Tungsten Graphics, Inc. have supported the ongoing development of Mesa.
<br>
<br>
<li>The
<a href="http://www.mesa3d.org">Mesa</a>
website is hosted by
<a href="http://sourceforge.net">
<img src="http://sourceforge.net/sflogo.php?group_id=3&amp;type=1"
width="88" height="31" align="bottom" alt="Sourceforge.net" border="0"></a>
<br>
<br>
 
<li>The Mesa git repository is hosted by
<a href="http://freedesktop.org/">freedesktop.org</a>.
<br>
<br>
 
 
<li><a href="http://www.altsoftware.com/">alt.software</a> contributed the Direct3D driver.
 
<li><b>Bernd Barsuhn</b> wrote the evaluator code for (splines,
patches) in Mesa.
 
<li><b>Bernhard Tschirren</b> wrote the Allegro DJGPP driver.
 
<li><b>Bogdan Sikorski</b> wrote the GLU NURBS and polygon tessellator
in Mesa.
 
<li><b>Charlie Wallace</b> wrote the MS-DOS driver.
 
<li><b>CJ Beyer</b> was the www.mesa3d.org webmaster.
 
<li><b>Darren Abbott</b> provided the OS/2 driver.
 
<li><b>David Bucciarelli</b> wrote and maintained the 3Dfx Glide
driver. Thousands of Linux/Quake players thank David!
 
<li><b>Gareth Hughes</b> wrote new GLU 1.2 Polygon Tessellation code
(now superceded by SGI SI GLU).
 
<li><b>Holger Waechtler</b> contributed AMD 3DNow! assembly code which
accelerates vertex transformation in Mesa 3.1. Holger also implemented
the GL_EXT_texture_env_combine extension.
 
<li><b>Jeroen van der Zijp</b> and <b>Thorsten Ohl</b> contributed the
Xt/Motif widget code.
 
<li><b>John Stone</b> provided the multi-threading support in Mesa 3.0.
 
<li><b>John Watson</b> assisted with web page design.
 
<li><b>Josh Vanderhoof</b> contributed Intel x86 assembly code which
accelerates vertex transformation in Mesa 3.x.
 
<li><b>Jouk Jansen</b> contributed and continues to maintain the VMS
support.
 
<li><b>Karl Schultz</b> has been maintaining the Windows driver.
 
<li><b>Keith Whitwell</b> has made extension contributions to Mesa
since 1999.
 
<li><b>Kendall Bennett</b> wrote the SciTech MGL driver.
 
<li><b>Klaus Niederkrueger</b> contributed many improvements to Mesa's
software rasterizer.
 
<li><b>Mark Kilgard</b> contributed antialiased line improvements and
several extensions.
 
<li><b>Michael Pichler</b> contributed <em>many</em> bug fixes
 
<li><b>Miklos Fazekas</b> wrote and maintains the Macintosh driver.
 
<li><b>Pascal Thibaudeau</b> wrote the NeXT driver.
 
<li><b>Pedro Vazquez</b> setup and maintains the Mesa Mailing list.
 
<li><b>Randy Frank</b> contributed <em>many</em> bug fixes.
 
<li><b>Stefan Zivkovic</b> wrote the Amiga driver.
 
<li><b>Stephane Rehel</b> provided the Cygnus Win32 support
 
<li><b>Ted Jump</b> maintained the
makefiles and project files for Windows 95/98/NT compilation for some time.
 
<li><b>Uwe Maurer</b> wrote the LibGGI driver for Mesa-3.0.
 
<li><b>Victor Ng-Thow-Hing</b> wrote the Amiwin driver for the Amiga.
 
</ul>
 
<p>
Apologies to anyone who's been omitted.
Please send corrections and additions to Brian.
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/utilities.html
0,0 → 1,37
<!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 Utilities</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Development Utilities</h1>
 
<dl>
<dt><a href="http://cgit.freedesktop.org/mesa/demos">Mesa demos collection</a></dt>
<dd>includes several utility routines in the <code>src/util/</code>
directory.</dd>
 
<dt><a href="http://piglit.freedesktop.org">Piglit</a></dt>
<dd>is an open-source test suite for OpenGL implementations.</dd>
 
<dt><a href="https://github.com/apitrace/apitrace">ApiTrace</a></dt>
<dd>is a project to trace, analyze and debug graphics api's.</dd>
 
<dt><a href="http://www.valgrind.org">Valgrind</a></dt>
<dd>is a very useful tool for tracking down
memory-related problems in your code.</dd>
</dl>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/versions.html
0,0 → 1,1662
<!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 Version History</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<b>
NOTE: Changes for Mesa 6.4 and later are documented in the corresponding
<a href="relnotes.html">release notes</a> file.
</b>
 
 
<h1>Mesa Version History</h1>
 
 
<h2>1.0 beta February 1995</h2>
<ul>
<li>Initial release
</ul>
 
<h2>1.1 beta March 4, 1995</h2>
Changes:
<ul>
<li>faster point and line drawing (2x faster)
<li>more systems supported, better Makefiles
<li>Renamed lib*.a files to avoid collisions
<li>many small bug fixes
</ul>
New:
<ul>
<li>pseudo-GLX functions added
<li>new implementation of evaluators (eval2.c)
<li>GLUT support
</ul>
 
<h2>1.1.1 beta March 7, 1995</h2>
Changes:
<ul>
<li>Reverted from eval2.c to eval.c due to FPE on Linux
<li>more speed improvements
<li>more Makefile changes
</ul>
 
<h2>1.1.2 beta March 14, 1995</h2>
New:
<ul>
<li>implementation of SGI's blending extensions
<li>glXUseXFont implemented
<li>added MESA_DEBUG environment variable support
</ul>
Changes:
<ul>
<li>Using eval2.c again
<li>more FPE-prevention checks (0-length normals are OK)
<li>a few small bug fixes
<li>much faster pixel logic ops!
<li>faster transformation arithmetic
</ul>
 
<h2>1.1.3 beta March 31, 1995</h2>
New:
<ul>
<li>gluScaleImage() and gluBuild2DMipMaps() implemented
<li>Mesa widgets for Xt/Motif
<li>blendEXT demos
<li>added environment variables for selecting visuals
</ul>
Changes:
<ul>
<li>almost all GLUT demos work correctly now
<li>faster X device driver functions
<li>more bug fixes
</ul>
 
<h2>1.1.4 beta April 20, 1995</h2>
Bug fixes:
<ul>
<li>missing #define SEEK_SET in src-tk/image.c
<li>compile glShadeModel into display lists
<li>fixed pow() domain error in src/light.c
<li>fixed "flickering bitmaps" in double buffer mode
<li>fixed tk.h and aux.h for C++
<li>state of LIGHT_MODEL_LOCAL_VIEWER was inverted
</ul>
New features:
<ul>
<li>MUCH, MUCH nicer dithering in 8-bit RGB mode
<li>updated widgets and widget demos
<li>Implemented GLXPixmap functions
<li>Added GLU 1.1 and GLX 1.1 functions
<li>Changed the X/Mesa interface API, more versatile
<li>Implemented gluPartialDisk()
</ul>
 
<h2>1.2 May 22, 1995</h2>
Bug fixes:
<ul>
<li>IRIX 4.x makefile problem
<li>modified tk to share root colormap as needed
<li>gluLookAt normalization problem
<li>suppress Expose, NoExpose events in swapbuffers
<li>glBitmap() and glDrawPixels() clipping
</ul>
New features:
<ul>
<li>GL_BLEND, GL_MODULATE, GL_DECAL, and GL_REPLACE_EXT texture
modes implemented
<li>texture maps stored more efficiently
<li>texture maps can be compiled into display lists
<li>Bogdan Sikorski's GLU polygon tesselation code
<li>Linas Vepstas's sweep and extrusion library
<li>glXCreateContext()'s shareList parameter works as it's supposed to.
XMesaCreateContext() updated to accept a shareList parameter too.
<li>Mesa can be compiled with real OpenGL .h files
<li>MESA_BACK_BUFFER environment variable
<li>better GLX error checking
</ul>
 
<h2>1.2.1 June 22, 1995</h2>
Bug fixes:
<ul>
<li>X/Mesa double buffer window resize crash
<li>widgets now pass PointerMotion events
<li>X/Mesa incorrect default clear color and drawing color
<li>more robust X MIT-SHM support in X/Mesa
<li>glTexImage( format=GL_LUMINANCE ) didn't work
<li>GL_LINE mode polygons with line width &gt; 1.0 could cause a crash
<li>numerous feedback bugs
<li>glReadPixels() from depth buffer was wrong
<li>error prone depth and stencil buffer allocation
New features:
<li>Preliminary Microsoft Windows driver
<li>Implemented a number of missing functions: glEvalCoord[12][df]v(),
glGet...(), etc.
<li>Added a few missing symbols to gl.h and glu.h
<li>Faster rendering of smooth-shaded, RGBA, depth-buffered polygons.
<li>Faster rendering of lines when width=2.0
<li>Stencil-related functions now work in display lists
</ul>
Changes:
<ul>
<li>renamed aux.h as glaux.h (MS-DOS names can't start with aux)
<li>most filenames are in 8.3 format to accomodate MS-DOS
<li>use GLubytes to store arrays of colors instead of GLints
</ul>
 
<h2>1.2.2 August 2, 1995</h2>
New features:
<ul>
<li>texture mapped points and lines
<li>NURBS! (but not 100% complete)
<li>viewports may safely extend beyond window boundaries
<li>MESA_PRIVATE_CMAP environment variable
<li>Grayscale X display support
<li>two new demos: demos/gears.c and demos/shadow.c
<li>MachTen for Macintosh configuration
</ul>
Bug fixes:
<ul>
<li>glGet*(GL_DEPTH_BITS) returned bytes, not bits
<li>point, line, and bitmap rasterization suffered from roundoff errors
<li>fixed a division by zero error in line clippping
<li>occasional wrong default background color really fixed!
<li>glDepthFunc(GL_ALWAYS) with glDepthMask(GL_FALSE) didn't work
<li>gluBuild2DMipmaps malloc problem fixed
<li>view volume clipping of smooth shaded lines resulted in bad colors
</ul>
Changes:
<ul>
<li>new visual selection method in glXChooseVisual()
<li>improved GLU quadric functions
<li>call XSync for glFinish and XFlush for glFlush
<li>glVertex() calls now use a function pointer to avoid conditionals
<li>removed contrib directory from Mesa tar file (available on ftp site)
<li>AIX shared library support
<li>Removed GLUenum type as it's not in OpenGL
</ul>
 
<h2>1.2.3 September 26, 1995</h2>
New features:
<ul>
<li>Mesa header files now equivalent to SGI OpenGL headers
<li>Support for HP's Color Recovery dithering displays
<li>Faster vertex transformation
<li>Faster raster operations into X windows under certain conditions
<li>New configurations: HP w/ shared libs, Ultrix w/ GCC, Data General
<li>4-bit visuals now supported
</ul>
Bug fixes:
<ul>
<li>glScissor bug fixed
<li>round-off errors in clipping lines against clip planes fixed
<li>byte swapping between hosts and display servers implemented
<li>glGetError() can be called without a current rendering context
<li>problem with accidentally culled polygons is fixed
<li>fixed some widget compilation problems
</ul>
 
<h2>1.2.4 November 17, 1995</h2>
New features:
<ul>
<li>More speed improvements (lighting, fogging, polygon drawing)
<li>Window system and OS-independent off-screen rendering
<li>Preliminary Fortran bindings
<li>glPolygonOffsetEXT implemented
<li>glColorMask and glIndexMask now fully implemented
<li>glPixelZoom implemented
<li>display lists fully implemented
<li>gamma correction
<li>dithering in 8-bit TrueColor/DirectColor visuals
</ul>
Changes:
<ul>
<li>Improved device driver interface
<li>tk.h renamed to gltk.h to avoid conflicts with Tcl's Tk
<li>Dithering support moved from core into device driver
</ul>
Bug fixes:
<ul>
<li>glEnable/Disable( GL_LIGHTING ) didn't always take effect
<li>glReadPixels byte swapping was broken
<li>glMaterial with pname==GL_AMBIENT_AND_DIFFUSE was broken
<li>duplicate glColor4b() prototype in GL/gl.h removed
<li>stripes in wave -ci demo fixed
<li>GL_LINEAR_MIPMAP_NEAREST had wrong value
<li>bugs in HP Color Recovery support fixed
<li>fixed bug when blending lines, points, bitmaps outside of window
</ul>
 
<h2>1.2.5 November 30, 1995</h2>
New Features:
<ul>
<li>updated MS Windows driver
<li>new implementation of StaticGray/GrayScale visual support
</ul>
Bug fixes:
<ul>
<li>pixelzooming with gamma correction or blending didn't work
<li>HP color recovery visual wasn't being picked by glXChooseVisual
<li>glClear didn't always observe glColorMask changes
<li>olympic and offset demos didn't compile on some Suns
<li>texcoord clamping wasn't correct
<li>a polygon optimization introduced an occasional sampling problem
</ul>
 
<h2>1.2.6 January 26, 1996</h2>
New Features:
<ul>
<li>faster line and polygon rendering under certain conditions. See
Performance Tips 9 and 10 in README
<li>profiling
<li>lighting is a bit faster
<li>better perspective corrected texture mapping
<li>Amiga AmiWin (X11) support
<li>preliminary Linux SVGA driver
Changes:
<li>now using a 16-bit depth buffer, faster, smaller
<li>GL_NORMALIZE is disabled by default
</ul>
Bug fixes:
<ul>
<li>projective texture mapping
<li>fixed a memory leak in the context destroy function
<li>GL_POLYGON with less than 3 vertices caused a crash
<li>glGet*() returned wrong result for GL_INDEX_MODE
<li>reading pixels from an unmapped X window caused a BadMatch error
</ul>
 
<h2>1.2.7 March 5, 1996</h2>
New:
<ul>
<li>faster lighting
<li>faster 16-bit TrueColor rendering on Linux
<li>faster 32-bit TrueColor rendering on Linux, HP, IBM
<li>non-depth-buffered XImage polygons are faster
<li>vertex array extension
<li>software alpha planes
<li>updated Macintosh driver
<li>new NeXT driver
<li>GLU quadric functions generate texture coordinates
<li>reflect.c demo - reflective, textured surface demo
</ul>
Changes:
<ul>
<li>gamma correction code moved into the X driver for better performance
</ul>
Bug fixes:
<ul>
<li>multiple glClipPlane()'s didn't work reliably
<li>glPolygonMode() didn't always work
<li>glCullFace( GL_FRONT_AND_BACK ) didn't work
<li>texture mapping with gamma correction was buggy
<li>floating point exceptions in texture coordinate interpolation
<li>XImage byte swapping didn't always work
<li>polygon edge flags weren't always used correctly
</ul>
 
<h2>1.2.8 May 22, 1996</h2>
New:
<ul>
<li>overlay planes on X servers with the SERVER_OVERLAY_VISUALS property
<li>better monochrome output
<li>more IRIX 6.x configurations
<li>more robust RGB mode color allocation
<li>added MESA_XSYNC environment variable
<li>GLX_MESA_pixmap_colormap and GLX_EXT_visual_info extensions
<li>GL_MESA_window_pos extension
<li>faster glReadPixels/glDrawPixels for GL_DEPTH and GL_UNSIGNED_SHORT
and GL_UNSIGNED_INT
<li>driver for prototype Cirrus Mondello 3-D board
<li>updated AmigaDOS driver
<li>a few small speed optimizations in polygon rendering
</ul>
Changes:
<ul>
<li>internal device driver interface modified to simplify device
driver implementations and to support hardware Z buffers
<li>several changes to the X/Mesa interface (xmesa.h)
</ul>
Bug fixes:
<ul>
<li>fixed pow(0,0) domain error triggered on some systems
<li>glStencilClear() in a display list caused an infinite loop
<li>glRasterPos*() was sometimes off by +/-0.5 in X and Y
<li>color masking and blending were performed in wrong order
<li>auxSolidCylinder() sometimes drew a wire-frame cylinder
<li>fixed file writing bug in osdemo.c
<li>pixel mapping didn't always work
<li>the GL_GEQUAL stencil func didn't work
<li>the GL_INVERT stencil op didn't work
<li>the stencil write mask didn't work
<li>glPush/PopAttrib() didn't do enough error checking
<li>glIsList() didn't always work correctly
</ul>
 
<h2>2.0 October 10, 1996</h2>
New:
<ul>
<li>Implements OpenGL 1.1 API functions
<li>all texture filtering modes supported (mipmapping)
<li>faster texture mapping, see Performance Tip 11 in README
<li>antialiased RGB points
<li>X support for line and polygon stippling
<li>glDrawBuffer( GL_FRONT_AND_BACK ) works
<li>util/ directory of useful stuff
<li>demos/texobj demo of texture objects
</ul>
Changes:
<ul>
<li>major internal changes for thread-safeness
<li>new device driver interface
<li>MESA_ALPHA env variable removed
<li>triangle rasterizer replaces polygon rasterizer
</ul>
Bug fixes:
<ul>
<li>glPopAttrib() bug
<li>glDrawBuffer(GL_NONE) works now
</ul>
 
<h2>2.1 December 14, 1996</h2>
New:
<ul>
<li>VMS support
<li>MS-DOS driver
<li>OpenStep support
<li>updated, combined Windows 95/NT driver
<li>implemented glGetLighti() and glGetTexGen*()
<li>GLX does garbage collection of ancillary buffers
</ul>
Bug fixes:
<ul>
<li>removed unused _EXT constants from gl.h
<li>fixed polygon offset bugs
<li>Z coordinates of clipped lines were incorrect
<li>glEdgeFlag() in display lists didn't always work
<li>glLight*() in display lists didn't work
<li>fixed X line stipple bugs (Michael Pichler)
<li>glXUseXfonts XFreeFont/XFreeFontInfo bug fixed
<li>fixed a feedback bug
<li>glTexGen*() now transforms GL_EYE_PLANE by inverse modelview matrix
<li>polygons were sometimes culled instead of clipped
<li>triangle rasterizer suffered from float/int overflow exceptions
<li>fixed FP underflow exception in lighting (specular exponent)
<li>glEnable/glDisable of GL_EXT_vertex_array enums didn't work
<li>fixed free(NULL) in GLU tesselator code
<li>using 24-bit color on some X servers resulted in garbage rendering
<li>32-bit per pixel mode for XFree86 now works
<li>glRotate(a,0,0,0) gave unpredictable results
<li>GL_LINE_STRIP with &gt; 480 vertices had occasional clipping problems
<li>8-bit TrueColor GLXPixmap rendering incorrectly required a colormap
<li>glMaterial() wasn't ignored when GL_COLOR_MATERIAL was enabled
<li>glEnable(GL_COLOR_MATERIAL) followed by glColor() didn't work right
<li>accumulation buffer was limited to positive values
<li>projective textures didn't work
<li>selection buffer overflows weren't handled correctly
</ul>
Changes:
<ul>
<li>restored the GL_EXT_polygon_offset extension
<li>slightly faster RGB dithering
<li>the SVGA driver works again
<li>Amiga driver now distributed separately
<li>NeXT driver updated for Mesa 2.x
</ul>
 
<h2>2.2 March 14, 1997</h2>
New:
<ul>
<li>better color selection when dithering
<li>added GL_EXT_texture_object extension
<li>updated MS-DOS driver for DJGPP
<li>added openbsd make configuration
<li>faster dithered flat-shaded triangles
<li>various compilation problems with Motif widgets fixed
<li>gl.h, glx.h and glu.h name mangling option
<li>BeOS driver
<li>3D texture mapping extension
<li>GL_MESA_resize_buffers extension
<li>morph3d, stex3d and spectex demos
<li>3Dfx support
</ul>
Bug fixes:
<ul>
<li>glColorMaterial should finally work right in all respects
<li>linear interpolation of mipmap levels was incorrectly weighted
<li>readpix.c didn't compile on Macintosh
<li>GL_INVERT and related logic ops didn't work right
<li>glTexImage[12]D() didn't check its parameters consistantly
<li>fixed a memory leak in glTexImage[12]D()
<li>kludged around a SunOS 5.x/GCC compiler bug in the feedback code
<li>glReadPixels aborted instead of normally catching some errors
<li>a few 1.1 constants were missing or misnamed in gl.h
<li>glBegin(p); glBegin(q); didn't generate an error
<li>fixed a memory leak in GLX code
<li>clipping of concave polygons could cause a core dump
<li>1-component alpha texture maps didn't work
<li>fixed a GLU polygon tesselator bug
<li>polygons with colinear vertices were sometimes culled
<li>feedback triangle colors were wrong when using smooth shading
<li>textures with borders didn't work correctly
<li>colors returned in feedback mode were wrong when using lighting
<li>spotlights didn't effect ambient lighting correctly
<li>gluPartialDisk() had a few bugs
</ul>
Changes:
<ul>
<li>device driver interface expanded to support texture mapping
<li>faster matrix inversion subroutine
<li>commented out #include "wmesa_extend.h" from src/wmesa.c
<li>fixed many compiler warnings in the demo programs
</ul>
 
<h2>2.3 June 30, 1997</h2>
New:
<ul>
<li>Mesa distribution divided into two pieces: library code and demos
<li>faster vertex transformation, clip testing, lighting
<li>faster line drawing
<li>TrueColor visuals how have dithering (for depths < 24 bits)
<li>added MESA_NO_DITHER environment variable
<li>new device driver function: NearFar(), RenderVB(), RasterSetup()
<li>added LynxOS configuration
<li>added cygnus Win32 configuration
<li>added texcyl.c GLUT demo
<li>added XMesaDitherColor() to X/Mesa interface
<li>new NURBS code from Bogdan Sikorski
<li>added demos/shape.c (non-rectangular X window!)
</ul>
Bug fixes:
<ul>
<li>glEnable/DisableClientState() were missing from GL/gl.h
<li>GL_SPHERE_MAP texcoord generation didn't work correctly
<li>glXGetConfig() returned wrong number of depth, stencil, accum bits
<li>glDrawPixels feedback/selection didn't examine RasterPos valid bit
<li>black and white were reversed on some monochrome displays
<li>fixed potential image memory leak (wasn't setting reference counter)
<li>glDrawPixels sometimes didn't recognize some GL state changes
<li>gluProject/UnProject() didn't check for divide by zero
<li>stex3d demo called random() and srandom(), not portable
<li>fixed memory leaks in context.c and drawpix.c
<li>fixed NULL dereferencing problem in gl_update_texture_state()
<li>glReadPixels between glBegin/glEnd didn't generate an error.
<li>fixed memory leak in polygon tesselator (Randy Frank)
<li>fixed seg fault bug drawing flat-shaded, depth-tested lines
<li>clipped GL_TRIANGLE_STRIPs sometimes had wrong color when flat-shaded
<li>glBindTexture sometimes didn't work
<li>fixed a bug deep in glXReleaseBuffersMESA()
<li>fog was mistakenly applied to alpha
<li>glPopMatrix didn't set "dirty matrix" flag
<li>glPolygonStipple pattern was sometimes wrong
<li>glClear wasn't disabled during feedback and selection
<li>fixed memory leak in glTexSubImage[123]D
</ul>
Changes:
<ul>
<li>many library source files reorganized
<li>faster X color allocation, colors also freed when finished with them
<li>new texture sampling function pointer in texture objects
<li>incorporated 3Dfx VooDoo driver v0.16 into main source tree
<li>many 3Dfx driver updates
<li>cygnus Makefiles now included
<li>updated DOS driver
<li>made a few changes to dosmesa.c and wmesa.c (VB-&gt;Unclipped)
<li>internally, colors now stored in GLubytes, not GLfixed
<li>optimized changing of GL_SHININESS parameter
</ul>
 
<h2>2.4 September 18, 1997</h2>
New:
<ul>
<li>updated 3Dfx Glide driver
<li>hacks for 3Dfx rendering into an X window or fullscreen
<li>added depth buffer access functions to X/Mesa and OS/Mesa interfaces
</ul>
Bug fixes:
<ul>
<li>pixel buffer could overflow with long, wide lines
<li>fixed FP underflow problems in lighting
<li>glTexSubImage1D() had an unitialized variable
<li>incomplete texture objects could cause a segfault
<li>glDrawPixels with GL_COMPILE_AND_EXECUTE caused infinite loop
<li>flat-shaded quads in a strip were miscolored if clipped
<li>mipmapped triangle lod computation now works correctly
<li>fixed a few under/overflow bugs in triangle rasterizer
<li>glArrayElement() assigned bad normal if normal array disabled
<li>changed argument to glXReleaseBuffersMESA()
<li>fixed small triangle underflow bugs in tritemp.h (hopefully)
<li>glBindTexture(target, 0) caused a crash
<li>glTexImage[123]D() with NULL image pointer caused crash
<li>glPixelStore parameters are now ignored during display list execution
<li>fixed a two-sided lighting w/ clipping bug (black vertices)
<li>textures with width!=height were sometimes mis-rendered
<li>"weird" projection matrices could cause div by 0, other fp errors
</ul>
Changes:
<ul>
<li>changed precompiled header symbol from PCH to PC_HEADER
<li>split api.c into api1.c and api2.c
<li>added hash.c source file (but not used yet)
<li>a few Sun and HP configuration file changes
<li>MESA_GLX_FX env var replaces MESA_FX_WINDOW and MESA_FX_FULLSCREEN
<li>fixed a few cygnus build problems (src/Makefile.cygnus, src/wmesa.c)
</ul>
 
<h2>2.5 November 20, 1997</h2>
New:
<ul>
<li>updated 3Dfx driver (v20) for GLQuake
<li>added GL_EXT_paletted_texture extension
<li>added GL_EXT_shared_texture_palette extension
<li>added GL_EXT_point_parameters extension
<li>now including Mark Kilgard's GLUT library v3.6
<li>new GLUT-based demos in gdemos/
<li>added a few more Unix config targets
<li>added Intel X86 assembly language vertex transformation code
<li>3Dfx/Glide driver for Mesa now recognizes SST_SCREENREFRESH env var
<li>Windows 95 S3 Virge driver
</ul>
Bug fixes:
<ul>
<li>glCopyTexImage?D would crash due to uninitialized variable
<li>glColor w/ glColorMaterial in a display list caused a bug
<li>fixed several glDrawPixels() and ReadPixels() bugs in 3Dfx driver
<li>glVertex4*() vertices weren't always projected correctly
<li>trying to use mipmapped textured points or lines caused crash
<li>glColor[34][fd]() values now clamped to [0,1] before int conversion
</ul>
Changes:
<ul>
<li>new device driver functions for texture mapping
<li>hash tables used for display list and texture object lookup
<li>fixed GLX visual handling code to avoid saving redundant visuals
<li>3Dfx Glide libraries automatically linked to libMesaGL.so
<li>dropped the Cirrus Logic Mondello code since it's obsolete
<li>updated Cygnus Makefiles (Stephane Rehel)
<li>updated Windows MSVC++ Makefiles (Oleg Letsinsky)
<li>procedure for making library files has changed: scripts now take
a major and minor version arguments. Make-config changed a lot.
<li>new implementation of glTexSubImage2D()
<li>updated widgets-mesa directory to create libMesaGLwM.a (Motif widget)
<li>separate linux-glide and linux-386-glide configurations
</ul>
 
<h2>2.6 February 12, 1998</h2>
New:
<ul>
<li>Windows WGL functions
<li>updated VMS, DOS, Windows, Cygnus, BeOS, Amiga compilation support
<li>v0.22 of 3Dfx Glide driver
<li>more X86 assembly language optimizations
<li>faster blending for some modes
<li>XMesaSetFXmode() to switch between 3Dfx window and full-screen mode
<li>added preliminary thread support
<li>added GLX_MESA_copy_sub_buffer extension
<li>some clipping optimizations
</ul>
Bug fixes:
<ul>
<li>fixed shading/material bug when drawing long primitive strips
<li>fixed clipping problem in long primitive strips
<li>fixed clipping bug when using 3Dfx driver
<li>fixed a problem when trying to use X fonts w/ 3Dfx driver
<li>fixed a texture filter bug in 3Dfx/Glide driver
<li>fixed bug in 3Dfx/Glide driver involving depth mask &amp; clearing
<li>glLoadMatrix to set projection matrix confused the 3Dfx driver
<li>non-identity texture matrices didn't work with linux-386 configs
<li>glGenTextures() didn't reserve the returned texture IDs
<li>NULL proxy image sent to glTexImageXD() caused crash
<li>added texture state validation optimization (Henk Kok)
<li>fixed colormap reuse problem when using both RGB and CI windows
<li>32bpp True/DirectColor X visuals weren't recognized
<li>fixed potential problem in evaluators memory allocation
<li>fixed assorted demo compilation bugs
</ul>
Changes:
<ul>
<li>replaced old Mesa/windows/ directory with Mesa/WIN32/ directory
<li>converted a few old glaux/gltk demos to GLUT
<li>renamed directories: demos -&gt; xdemos, gdemos -&gt; demos
</ul>
 
 
<h2>3.0 September 17, 1998</h2>
New:
<ul>
<li>OpenGL 1.2 API
<li>GL_EXT_abgr pixel format extension
<li>GL_SGIS_texture_edge_clamp extension
<li>GL_SGIS_multitexture extension (to be replaced by GL_ARB_multitex)
<li>GL_EXT_multitexture extension (to be replaced by GL_ARB_multitex)
<li>GL_EXT_rescale_normal extension and renormal.c demo
<li>GLX_SGI_video_sync extension (a no-op)
<li>antialiased lines
<li>glGetTexImage() now implemented
<li>glDraw/Copy/ReadPixels() optimizations
<li>optimized textured triangle code (Marten Stromberg)
<li>more optimization of dithered TrueColor triangles in X driver
<li>Linux GGI driver
<li>updated MGL driver
</ul>
Bug fixes:
<ul>
<li>lots of assorted compilation fixes
<li>glInitNames didn't write initial hit record
<li>glBitmap didn't always check for invalid raster position
<li>switching between GLX and OSMesa contexts caused a crash
<li>fixed uninitialized variable in Mesa widget code
<li>fixed typo in texture code which caused book/texgen to crash
<li>fixed texture sampling bug when filter=GL_LINEAR and wrap=GL_CLAMP
<li>gluDisk() in POINT or LINE mode sometimes failed
<li>fixed texture + fog bug
<li>GL_COMPILE_AND_EXECUTE mode didn't work reliably
<li>glMultMatrix in projection matrix mode w/ 3Dfx driver could fail
<li>glDrawPixels(color index pixels) weren't converted to RGBA
<li>fixed possible getenv() buffer overflow security bug
<li>glBitmap in feedback mode was offset by xOrig, yOrig params
<li>device driver's DrawPixels hook was never used
<li>glDrawPixels with zoomY!=1 and top/bottom clipping didn't work
<li>glDrawPixels optimized for GL_LUMINANCE, GL_LUMINANCE_ALPHA, GLubyte
<li>fixed MakeCurrent bug in GLwRedrawObjects() in MesaWorkstation.c
<li>glCopyTexSubImage2D() didn't work with 3Dfx driver
<li>lines with width = 2 could cause crash
<li>glClear with scissor rect sometimes cleared whole buffer
<li>glTexSubImage2D( .. GL_COLOR_INDEX .. ) didn't work
<li>glTexImageXD( .. GL_ABGR_EXT .. ) didn't work
<li>computation of inverse modelview matrix sometimes failed
<li>fixed GL_CLAMP mode texture sampling bug
<li>textured line interpolation was somewhat broken
<li>textured triangle interpolation was also somewhat broken
<li>glGet(MODELVIEW/PROJECTION/TEXTURE_MATRIX_STACK_DEPTH) off by one
<li>evaluator state wasn't fully initialized
<li>texture coordinate clipping was buggy
<li>evaluator surfaces could be mis-colored
<li>glAccum(GL_RETURN, s) didn't obey glColorMask() settings
<li>zero area polygons shouldn't be culled if polygon mode is point/line
<li>clipped width and height of glReadPixels was sometimes off by one
<li>blending with alpha = 0 or 1.0 wasn't always exact
<li>reading of pixels from clipped region was buggy
<li>minor tweaking of X visual management in GLX emulator
<li>glPolygonStipple now obeys pixel unpacking parameters
<li>glGetPolygonStipple now obeys pixel packing parameters
<li>interleaved vertex array texture coordinates were broken
<li>query of proxy texture internal format was broken
<li>alpha channel wasn't reliably cleared
<li>fixed divide by zero error in gluScaleImage if dest size = 1 x 1
</ul>
Conformance bug fixes:
<ul>
<li>GL_SELECTION_BUFFER_POINTER and GL_SELECTION_BUFFER_SIZE were missing
<li>GL_TEXTURE_INTERNAL_FORMAT was missing
<li>glGet*(GL_POLYGON_STIPPLE) was broken
<li>glPush/PopAttrib() didn't save/restore all texture state
<li>glBitmap in feedback mode didn't work
<li>feedback of texture coords didn't always work
<li>glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLbyte was broke
<li>glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLubyte was broke
<li>glDrawPixels w/ format=GL_STENCIL_INDEX, type=GL_BITMAP was broke
</ul>
Changes:
<ul>
<li>upgraded GLUT to version 3.7
<li>only GL and GLU library code included in MesaLib.tar.gz
<li>GLUT and all demos now in MesaDemos.tar.gz
<li>glaux and gltk libraries removed
<li>IRIX -n32 and -64 libs go in lib32/ and lib64/ directories
</ul>
 
 
<h2>3.1 beta 1 November 19, 1998</h2>
New:
<ul>
<li>GL_EXT_stencil_wrap extension
<li>GL_INGR_blend_func_separate extension
<li>GL_ARB_multitexture extension
<li>GL_NV_texgen_reflection extension
<li>newly optimized vertex transformation code
<li>updated GLUT 3.7 code
<li>better precision when using 32-bit Z buffer
<li>Allegro DJGPP driver
</ul>
Bug fixes:
<ul>
<li>glCopyPixels between front/back buffers didn't copy alpha correctly
<li>fixed out-of-bounds memory access in optimized 2-D texture code
<li>glPixelStorei didn't accept GL_PACK/UNPACK_IMAGE_HEIGHT parameter
<li>glGet*() didn't accept GL_MAX_3D_TEXTURE_SIZE parameter
<li>clipping of texture coordinates sometimes had bad R,Q values
<li>GL_CLAMP_TO_EDGE texture sampling was off by 0.5 texels
<li>glEdgeFlagPointer() now takes a GLvoid * instead of GLboolean *
<li>texture was sometimes applied twice with 3Dfx driver
<li>glPush/PopAttrib() fouled up texture object reference counts
<li>glDeleteLists(0, n) caused assertion failure
<li>bilinear texture sampling wasn't accurate enough
<li>glClear w/ glDepthMask(GL_FALSE) didn't work right on 3Dfx
<li>color components were reversed on big endian 32 bpp X visuals
</ul>
Changes:
<ul>
<li>removed GL_EXT_multitexture extension
</ul>
 
 
<h2>3.1 beta 2 May 24, 1999</h2>
New:
<ul>
<li>multi-textured points and lines (mjk@nvidia.com)
<li>optimized 24bpp X rendering (bernd.paysan@gmx.de)
<li>added allegro support (bernie-t@geocities.com)
<li>cleaned-up Windows-related stuff (Ted Jump)
<li>minor stereo changes (KendallB@scitechsoft.com)
<li>new BeOS driver which implements BGLView class
<li>new Direct3D driver (see src/D3D)
<li>more efficient filled gluCylinder() function
<li>utilities: util/showbuffer.[ch] and util/glstate.[ch]
<li>fixed some IRIX compiler warnings
<li>added support for building Mesa in XFree86 with
SGI's GLX (kevin@precisioninsight.com)
</ul>
Bug fixes:
<ul>
<li>a variety of Windows/Mesa bug fixes (mjk@nvidia.com)
<li>packed pixel images weren't unpacked correctly
<li>patches some win32 files in GLUT (mjk@nvidia.com)
<li>glTexImage[123]D() didn't accept internalFormat == GL_COLOR_INDEX
<li>fixed lighting bug in Keith's new shading code
<li>fixed texture segfault seen in Lament screensaver
<li>fixed miscellaneous low-memory bugs
<li>glClear(GL_COLOR_BUFFER_BIT) with RGBA or CI masking was broken
<li>GL_LINEAR sampling of 3D textures was broken
<li>fixed SVR4 'cc' compiler macro problem (dawes@xfree86.org)
<li>added GL_TEXTURE_PRIORITY fix (keithh@netcomuk.co.uk)
<li>fixed wide point and wide line conformance bugs (brianp)
</ul>
Changes:
<ul>
<li>some device driver changes (see src/dd.h)
<li>new copyright on core Mesa code
</ul>
 
 
<h2>3.1 beta 3 September 17, 1999</h2>
New:
<ul>
<li>optimized glAccum function
<li>optimized 24bpp rendering in XMesa driver
<li>GLU 1.2 polygon tessellator
</ul>
Bug Fixes:
<ul>
<li>glGetTexLevelParameter wasn't fully implemented
<li>glXUseXFont now handles multi-byte fonts
<li>glIsEnabled(GL_TEXTURE_2D / 3D) returned wrong result
<li>alpha channel of blending points, lines was sometimes incorrect
</ul>
Changes:
<ul>
<li>New library names: "libGL" instead of "libMesaGL"
<li>New library numbering: libGL.so.1.2.310
<li>New subdirectories: docs/ and bin/
<li>New Makefile-system (autoconf,automake,libtool)
</ul>
 
 
<h2>3.1 final December 14, 1999</h2>
New:
<ul>
<li>added demos/gloss.c
<li>added xdemos/glxdpyinfo.c
<li>added GLX_ARB_get_proc_address extension
<li>rewritten glTexImage code paths (faster, less memory, bug fixes)
</ul>
Bug Fixes:
<ul>
<li>several vertex array bug fixes
<li>overlapping glCopyPixels with pixel zooming now works
<li>glXUseXFont() bitmaps were vertically shifted by one pixel
<li>glCopyPixels with pixel zooming now works
</ul>
 
 
<h2>3.2 final April 24, 2000</h2>
Bug fixes:
<ul>
<li>fixed memcpy bugs in span.c
<li>fixed missing glEnd problem in demos/tessdemo.c
<li>fixed bug when clearing 24bpp Ximages
<li>fixed clipping problem found in Unreal Tournament
<li>fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
<li>fixed Loki's 3dfx RGB vs BGR bug
<li>fixed Loki's 3dfx smooth/flat shading bug in SoF
</ul>
Changes:
<ul>
<li>updated docs/README file
<li>use bcopy() optimizations on FreeBSD
<li>re-enabled the optimized persp_textured_triangle() function
</ul>
 
 
<h2>3.2.1 July 19, 2000</h2>
Bug fixes:
<ul>
<li>gluBuild2DMipmaps() didn't accept GL_BGRA
<li>Fixed compile/makefile problems on IRIX
<li>fixed segfault in 3dfx driver when using GL selection/feedback
<li>no longer cull very, very tiny triangles
<li>blending w/ drawbuffer==GL_FRONT_BACK caused segfault (sw rendering)
<li>fixed Motif detection code in widgets-mesa/configure.in
<li>glColorMaterial and glMaterial updates to emissive and ambient
didn't always work right
<li>Specular highlights weren't always in the right place
<li>clipped GL_LINE mode polygons had interior lines appear
<li>blend term GL_ONE_MINUS_CONSTANT_ALPHA was broken
<li>GL_NICEST fog didn't always work with flat shading
<li>glRect commands in display lists were sometimes miscolored
<li>Line Z offset didn't always work
<li>fixed texgen normal vector problem (gloss's teapot)
<li>numerous GL conformance bugs fixed
</ul>
Changes:
<ul>
<li>glColorMask(false, false, false, false) handled better/faster
<li>reverted to old GLU polygon tessellator, GLU 1.1
<li>updated Win32 build files
</ul>
 
 
<h2>3.3 July 21, 2000</h2>
New:
<ul>
<li>antialiased triangles now implemented
<li>GL_EXT_texture_env_add texture mode extension
<li>GLX 1.3 API
<li>support for separate draw/read buffers (ie GL_SGI_make_current_read)
<li>thread-safe API dispath
<li>improved glxinfo program
<li>demos/texdown program to measure texture download performance
<li>glext.h header file
<li>demos/geartrain program
<li>GL_EXT_texture_lod_bias extension
<li>demos/lodbias program
<li>further optimized glRead/DrawPixels for 16-bit TrueColor X visuals
<li>GLX_EXT_visual_rating extension (a no-op, however)
<li>GL_HP_occlusion_test extension (for X and OS/Mesa drivers)
<li>demos/occlude program
<li>GL_SGIS_pixel_texture and GL_SGIX_pixel_texture extensions
<li>demos/pixeltex program
<li>GL_SGI_color_matrix extension
<li>GL_SGI_color_table extension
<li>GL_EXT_histogram extension
<li>GL_ARB_texture_cube_map extension
<li>added xdemos/glxheads and xdemos/manywin
<li>demos/texenv.c demo
<li>GL_EXT_texture_env_combine extension (by Holger Waechtler)
<li>Xlib driver is now thread-safe (see xdemos/glthreads)
</ul>
Bug Fixes:
<ul>
<li>various GL conformance failures fixed since 3.2.1
</ul>
Changes:
<ul>
<li>gl.h now uses #defines instead of C enums for all tokens
<li>glu.h now uses #defines instead of C enums for all tokens
<li>moved programs from 3Dfx/demos/ into demos/ directory
</ul>
 
 
<h2>3.4 November 3, 2000</h2>
New:
<ul>
<li>optimized glDrawPixels for glPixelZoom(1,-1)
Bug Fixes:
<li>widgets-mesa/src/*.c files were missing from 3.3 distro
<li>include/GL/mesa_wgl.h file was missing from 3.3 distro
<li>fixed some Win32 compile problems
<li>texture object priorities weren't getting initialized to 1.0
<li>glAreTexturesResident return value was wrong when using hardware
<li>glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
<li>glReadPixels with GLushort packed types was broken
<li>fixed a few bugs in the GL_EXT_texture_env_combine texture code
<li>glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
<li>fixed some typos/bugs in the VB code
<li>glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
<li>optimized glDrawPixels paths weren't being used
<li>per-fragment fog calculation didn't work without a Z buffer
<li>improved blending accuracy, fixes Glean blendFunc test failures
<li>glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
<li>glXGetProcAddressARB() didn't always return the right address
<li>gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
<li>texture matrix changes weren't always detected (GLUT projtex demo)
<li>fixed random color problem in vertex fog code
<li>fixed Glide-related bug that let Quake get a 24-bit Z buffer
</ul>
Changes:
<ul>
<li>finished internal support for compressed textures for DRI
</ul>
 
 
<h2>3.4.1 February 14, 2001</h2>
New:
<ul>
<li>fixed some Linux build problems
<li>fixed some Windows build problems
<li>GL_EXT_texture_env_dot3 extension (Gareth Hughes)
</ul>
Bug fixes:
<ul>
<li>added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
<li>various state-update code changes needed for DRI bugs
<li>disabled pixel transfer ops in glColorTable commands, not needed
<li>fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
<li>updated sources and fixed compile problems in widgets-mesa/
<li>GLX_PBUFFER enum value was wrong in glx.h
<li>fixed a glColorMaterial lighting bug
<li>fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
<li>glXCopySubBufferMESA() Y position was off by one
<li>Error checking of glTexSubImage3D() was broken (bug 128775)
<li>glPopAttrib() didn't restore all derived Mesa state correctly
<li>Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
conformance problems at 16bpp.
<li>clearing depth buffer with scissoring was broken, would segfault
<li>OSMesaGetDepthBuffer() returned bad bytesPerValue value
<li>fixed a line clipping bug (reported by Craig McDaniel)
<li>fixed RGB color over/underflow bug for very tiny triangles
</ul>
Known problems:
<ul>
<li>NURBS or evaluator surfaces inside display lists don't always work
</ul>
 
 
<h2>3.4.2 May 17, 2001</h2>
Bug fixes:
<ul>
<li>deleting the currently bound texture could cause bad problems
<li>using fog could result in random vertex alpha values
<li>AA triangle rendering could touch pixels outside right window bound
<li>fixed byteswapping problem in clear_32bit_ximage() function
<li>fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
<li>fixed memory leak in glXUseXFont()
<li>fragment sampling in AA triangle function was off by 1/2 pixel
<li>Windows: reading pixels from framebuffer didn't always work
<li>glConvolutionFilter2D could segfault or cause FP exception
<li>fixed segfaults in FX and X drivers when using tex unit 1 but not 0
<li>GL_NAND logicop didn't work right in RGBA mode
<li>fixed a memory corruption bug in vertex buffer reset code
<li>clearing the softwara alpha buffer with scissoring was broken
<li>fixed a few color index mode fog bugs
<li>fixed some bad assertions in color index mode
<li>fixed FX line 'stipple' bug #420091
<li>fixed stencil buffer clear width/height typo
<li>fixed GL error glitches in gl[Client]ActiveTextureARB()
<li>fixed Windows compilation problem in texutil.c
<li>fixed 1/8-pixel AA triangle sampling error
</ul>
Changes:
<ul>
<li>optimized writing mono-colored pixel spans to X pixmaps
<li>increased max viewport size to 2048 x 2048
</ul>
 
 
<h2>3.5 June 21, 2001</h2>
New:
<ul>
<li>internals of Mesa divided into modular pieces (Keith Whitwell)
<li>100% OpenGL 1.2 conformance (passes all conformance tests)
<li>new AA line algorithm
<li>GL_EXT_convolution extension
<li>GL_ARB_imaging subset
<li>OSMesaCreateContextExt() function
<li>GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
<li>GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
<li>GL_EXT_fog_coord extension (Keith Whitwell)
<li>GL_EXT_secondary_color extension (Keith Whitwell)
<li>GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
<li>GL_SGIX_depth_texture extension
<li>GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
<li>demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
<li>GL_ARB_texture_env_combine extension
<li>GL_ARB_texture_env_dot3 extension
<li>GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
<li>OSMesaCreateContextExt() function
<li>libOSMesa.so library, contains the OSMesa driver interface
<li>GL/glxext.h header file for GLX extensions
<li>somewhat faster software texturing, fogging, depth testing
<li>all color-index conformance tests now pass (only 8bpp tested)
<li>SPARC assembly language TCL optimizations (David Miller)
<li>GL_SGIS_generate_mipmap extension
</ul>
Bug Fixes:
<ul>
<li>fbiRev and tmuRev were unitialized when using Glide3
<li>fixed a few color index mode conformance failures; all pass now
<li>now appling antialiasing coverage to alpha after texturing
<li>colors weren't getting clamped to [0,1] before color table lookup
<li>fixed RISC alignment errors caused by COPY_4UBV macro
<li>drawing wide, flat-shaded lines could cause a segfault
<li>vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
</ul>
Changes:
<ul>
<li>SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
<li>new libOSMesa.so library, contains the OSMesa driver interface
</ul>
 
 
<h2>4.0 October 22, 2001</h2>
New:
<ul>
<li>Mesa 4.0 implements the OpenGL 1.3 specification
<li>GL_IBM_rasterpos_clip extension
<li>GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
<li>GL_ARB_texture_mirrored_repeat extension
<li>WindML UGL driver (Stephane Raimbault)
<li>added OSMESA_MAX_WIDTH/HEIGHT queries
<li>attempted compiliation fixes for Solaris 5, 7 and 8
<li>updated glext.h and glxext.h files
<li>updated Windows driver (Karl Schultz)
</ul>
Bug fixes:
<ul>
<li>added some missing GLX 1.3 tokens to include/GL/glx.h
<li>GL_COLOR_MATRIX changes weren't recognized by teximage functions
<li>glCopyPixels with scale and bias was broken
<li>glRasterPos with lighting could segfault
<li>glDeleteTextures could leave a dangling pointer
<li>Proxy textures for cube maps didn't work
<li>fixed a number of 16-bit color channel bugs
<li>fixed a few minor memory leaks
<li>GLX context sharing was broken in 3.5
<li>fixed state-update bugs in glPopClientAttrib()
<li>fixed glDrawRangeElements() bug
<li>fixed a glPush/PopAttrib() bug related to texture binding
<li>flat-shaded, textured lines were broken
<li>fixed a dangling pointer problem in the XMesa code (Chris Burghart)
<li>lighting didn't always produce the correct alpha value
<li>fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
</ul>
 
 
<h2>4.0.1 December 17, 2001</h2>
New:
<ul>
<li>better sub-pixel sample positions for AA triangles (Ray Tice)
<li>slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
</ul>
Bug fixes:
<ul>
<li>added missing break statements in glGet*() for multisample cases
<li>fixed uninitialized hash table mutex bug (display lists / texobjs)
<li>fixed bad teximage error check conditional (bug 476846)
<li>fixed demos readtex.c compilation problem on Windows (Karl Schultz)
<li>added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
<li>silence some compiler warnings (gcc 2.96)
<li>enable the #define GL_VERSION_1_3 in GL/gl.h
<li>added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
<li>fixed glu.h typedef problem found with MSDev 6.0
<li>build libGL.so with -Bsymbolic (fixes bug found with Chromium)
<li>added missing 'const' to glXGetContextIDEXT() in glxext.h
<li>fixed a few glXGetProcAddress() errors (texture compression, etc)
<li>fixed start index bug in compiled vertex arrays (Keith)
<li>fixed compilation problems in src/SPARC/glapi_sparc.S
<li>fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
<li>use glXGetProcAddressARB in GLUT to avoid extension linking problems
<li>provoking vertex of flat-shaded, color-index triangles was wrong
<li>fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
<li>glTexParameter didn't flush the vertex buffer (Ray Tice)
<li>feedback attributes for glDraw/CopyPixels and glBitmap were wrong
<li>fixed bug in normal length caching (ParaView lighting bug)
<li>fixed separate_specular color bug found in Chimera (18 Dec 2001)
</ul>
 
 
<h2>4.0.2 April 2, 2002</h2>
New:
<ul>
<li>New DOS (DJGPP) driver written by Daniel Borca
<li>New driver interface functions for TCL drivers (such as Radeon DRI)
<li>GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
if using deep color channels
<li>latest GL/glext.h and GL/glxext.h headers from SGI
</ul>
Bug fixes:
<ul>
<li>GL_BLEND with non-black texture env color wasn't always correct
<li>GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
<li>glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
<li>glReadPixels was sometimes mistakenly clipped by the scissor box
<li>glDraw/ReadPixels didn't catch all the errors that they should have
<li>Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
<li>16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
<li>Fixed 1-bit float-&gt;int conversion bug in glDrawPixels(GL_DEPTH_COMP)
<li>glColorMask as sometimes effecting glXSwapBuffers()
<li>fixed a potential bug in XMesaGarbageCollect()
<li>N threads rendering into one window didn't work reliably
<li>glCopyPixels didn't work for deep color channels
<li>improved 8 -&gt; 16bit/channel texture image conversion (Gerk Huisma)
<li>glPopAttrib() didn't correctly restore user clip planes
<li>user clip planes failed for some perspective projections (Chromium)
</ul>
Known bugs:
<ul>
<li>mipmap LOD computation
</ul>
 
 
<h2>4.0.3 June 25, 2002</h2>
New:
<ul>
<li>updated GL/glext.h file (version 15)
<li>corrected MMX blend code (Jose Fonseca)
<li>support for software-based alpha planes in Windows driver
<li>updated GGI driver (Filip Spacek)
</ul>
Bug fixes:
<ul>
<li>glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
<li>OSMesaMakeCurrent() didn't recognize buffer size changes
<li>assorted conformance fixes for 16-bit/channel rendering
<li>texcombine alpha subtraction mode was broken
<li>fixed lighting bug with non-uniform scaling and display lists
<li>fixed bug when deleting shared display lists
<li>disabled SPARC cliptest assembly code (Mesa bug 544665)
<li>fixed a couple Solaris compilation/link problems
<li>blending clipped glDrawPixels didn't always work
<li>glGetTexImage() didn't accept packed pixel types
<li>glPixelMapu[is]v() could explode given too large of pixelmap
<li>glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
<li>glXCopyContext() could lead to segfaults
<li>glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
</ul>
Changes:
<ul>
<li>lots of C++ (g++) code clean-ups
<li>lots of T&amp;L updates for the Radeon DRI driver
</ul>
Known bugs:
<ul>
<li>mipmap LOD computation (fixed for Mesa 4.1)
</ul>
 
 
<h2>4.0.4 October 3, 2002</h2>
New:
<ul>
<li>GL_NV_texture_rectangle extension
<li>updated glext.h header (version 17)
<li>updated DOS driver (Daniel Borca)
<li>updated BeOS R5 driver (Philippe Houdoin)
<li>added GL_IBM_texture_mirror_repeat
<li>glxinfo now takes -l option to print interesting OpenGL limits info
<li>GL_MESA_ycbcr_texture extension
<li>GL_APPLE_client_storage extension (for some DRI drivers only)
<li>GL_MESA_pack_invert extension
</ul>
Bug fixes:
<ul>
<li>fixed GL_LINEAR fog bug by adding clamping
<li>fixed FP exceptions found using Alpha CPU
<li>3dfx MESA_GLX_FX=window (render to window) didn't work
<li>fixed memory leak in wglCreateContest (Karl Schultz)
<li>define GLAPIENTRY and GLAPI if undefined in glu.h
<li>wglGetProcAddress didn't handle all API functions
<li>when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
<li>removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
<li>error checking in compressed tex image functions had some glitches
<li>fixed AIX compile problem in src/config.c
<li>glGetTexImage was using pixel unpacking instead of packing params
<li>auto-mipmap generation for cube maps was incorrect
</ul>
Changes:
<ul>
<li>max texture units reduced to six to accomodate texture rectangles
<li>removed unfinished GL_MESA_sprite_point extension code
</ul>
 
 
<h2>4.1 October 29, 2002</h2>
New:
<ul>
<li>GL_NV_vertex_program extension
<li>GL_NV_vertex_program1_1 extension
<li>GL_ARB_window_pos extension
<li>GL_ARB_depth_texture extension
<li>GL_ARB_shadow extension
<li>GL_ARB_shadow_ambient extension
<li>GL_EXT_shadow_funcs extension
<li>GL_ARB_point_parameters extension
<li>GL_ARB_texture_env_crossbar
<li>GL_NV_point_sprite extension
<li>GL_NV_texture_rectangle extension
<li>GL_EXT_multi_draw_arrays extension
<li>GL_EXT_stencil_two_side extension
<li>GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
<li>GL_ATI_texture_mirror_once extension (Ian Romanick)
<li>massive overhaul/simplification of software rasterizer module,
many contributions from Klaus Niederkrueger
<li>faster software texturing in some cases (i.e. trilinear filtering)
<li>new OSMesaGetProcAddress() function
<li>more blend modes implemented with MMX code (Jose Fonseca)
<li>added glutGetProcAddress() to GLUT
<li>added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
<li>pbinfo and pbdemo PBuffer programs
<li>glxinfo -v prints transprent pixel info (Gerd Sussner)
</ul>
Bug fixes:
<ul>
<li>better mipmap LOD computation (prevents excessive blurriness)
<li>OSMesaMakeCurrent() didn't recognize buffer size changes
<li>assorted conformance fixes for 16-bit/channel rendering
<li>texcombine alpha subtraction mode was broken
<li>fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
<li>clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma)
<li>fixed divide by zero error in NURBS tessellator (Jon Perry)
<li>fixed GL_LINEAR fog bug by adding clamping
<li>fixed FP exceptions found using Alpha CPU
<li>3dfx/glide driver render-to-window feature was broken
<li>added missing GLX_TRANSPARENT_RGB token to glx.h
<li>fixed error checking related to paletted textures
<li>fixed reference count error in glDeleteTextures (Randy Fayan)
</ul>
Changes:
<ul>
<li>New spec file and Python code to generate some GL dispatch files
<li>Glide driver defaults to "no" with autoconf/automake
<li>updated demos/stex3d with new options
</ul>
 
 
<h2>5.0 November 13, 2002</h2>
New:
<ul>
<li>OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
<li>removed some overlooked debugging code
<li>glxinfo updated to support GLX_ARB_multisample
<li>GLUT now support GLX_ARB_multisample
<li>updated DOS driver (Daniel Borca)
</ul>
Bug fixes:
<ul>
<li>GL_POINT and GL_LINE-mode polygons didn't obey cull state
<li>fixed potential bug in _mesa_align_malloc/calloc()
<li>fixed missing triangle bug when running vertex programs
<li>fixed a few HPUX compilation problems
<li>FX (Glide) driver didn't compile
<li>setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
<li>a few EXT functions, like glGenTexturesEXT, were no-ops
<li>a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
glMultiDrawArrays and glMultiDrawElements were missing
<li>glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
<li>Pentium 4 Mobile was mistakenly identified as having 3DNow!
<li>fixed one-bit error in point/line fragment Z calculation
<li>fixed potential segfault in fakeglx code
<li>fixed color overflow problem in DOT3 texture env mode
</ul>
 
 
<h2>5.0.1 March 30, 2003</h2>
New:
<ul>
<li>DOS driver updates from Daniel Borca
<li>updated GL/gl_mangle.h file (Bill Hoffman)
Bug fixes:
<li>auto mipmap generation for cube maps was broken (bug 641363)
<li>writing/clearing software alpha channels was unreliable
<li>minor compilation fixes for OS/2 (Evgeny Kotsuba)
<li>fixed some bad assertions found with shadowtex demo
<li>fixed error checking bug in glCopyTexSubImage2D (bug 659020)
<li>glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
<li>fixed potential segfault in texture object validation (bug 659012)
<li>fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
<li>fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
<li>fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
<li>glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
<li>fixed compilation problem on Solaris7/x86 (bug 536406)
<li>fixed prefetch bug in 3DNow! code (Felix Kuhling)
<li>fixed NeXT build problem (FABSF macro)
<li>glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
<li>zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
<li>AA line and triangle Z values are now rounded, not truncated
<li>fixed color interpolation bug when GLchan==GLfloat (bug 694461)
<li>glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
<li>fixed a minor GL_COLOR_MATERIAL bug
<li>NV vertex program EXP instruction was broken
<li>glColorMask misbehaved with X window / pixmap rendering
<li>fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
<li>attempt to fix GGI compilation problem when MesaDemos not present
<li>NV vertex program ARL-relative fetches didn't work
</ul>
Changes:
<ul>
<li>use glPolygonOffset in gloss demo to avoid z-fighting artifacts
<li>updated winpos and pointblast demos to use ARB extensions
<li>disable SPARC normal transformation code (bug 673938)
<li>GLU fixes for OS/2 (Evgeny Kotsuba)
</ul>
 
 
<h2>5.0.2 September 5, 2003</h2>
Bug fixes:
<ul>
<li>fixed texgen problem causing texcoord's Q to be zero (stex3d)
<li>default GL_TEXTURE_COMPARE_MODE_ARB was wrong
<li>GL_CURRENT_MATRIX_NV query was wrong
<li>GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
<li>GL_LIST_MODE query wasn't correct
<li>GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
<li>GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
<li>blended, wide lines didn't always work correctly (bug 711595)
<li>glVertexAttrib4svNV w component was always 1
<li>fixed bug in GL_IBM_rasterpos_clip (missing return)
<li>GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
<li>a few Solaris compilation fixes
<li>fixed glClear() problem for DRI drivers (non-existant stencil, etc)
<li>fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
<li>fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
<li>glFog() didn't clamp fog colors
<li>fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
gl[Get]TexParameteri[v] functions
<li>fixed invalid memory references in glTexGen functions (bug 781602)
<li>integer-valued color arrays weren't handled correctly
<li>glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
<li>GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
</ul>
Changes:
<ul>
<li>build GLUT with -fexceptions so C++ apps propogate exceptions
</ul>
 
 
<h2>5.1 December 17, 2003</h2>
New:
<ul>
<li>reorganized directory tree
<li>GL_ARB_vertex/fragment_program extensions (Michal Krol &amp; Karl Rasche)
<li>GL_ATI_texture_env_combine3 extension (Ian Romanick)
<li>GL_SGI_texture_color_table extension (Eric Plante)
<li>GL_NV_fragment_program extension
<li>GL_NV_light_max_exponent extension
<li>GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
<li>GL_ARB_occlusion_query extension
<li>GL_ARB_point_sprite extension
<li>GL_ARB_texture_non_power_of_two extension
<li>GL_IBM_multimode_draw_arrays extension
<li>GL_EXT_texture_mirror_clamp extension (Ian Romanick)
<li>GL_ARB_vertex_buffer_object extension
<li>new X86 feature detection code (Petr Sebor)
<li>less memory used for display lists and vertex buffers
<li>demo of per-pixel lighting with a fragment program (demos/fplight.c)
<li>new version (18) of glext.h header
<li>new spriteblast.c demo of GL_ARB_point_sprite
<li>faster glDrawPixels in X11 driver in some cases (see relnotes/5.1)
<li>faster glCopyPixels in X11 driver in some cases (see relnotes/5.1)
</ul>
Bug fixes:
<ul>
<li>really enable OpenGL 1.4 features in DOS driver.
<li>fixed issues in glDrawPixels and glCopyPixels for very wide images
<li>glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
<li>fixed some texgen bugs reported by Daniel Borca
<li>fixed wglMakeCurrent(NULL, NULL) bug (#835861)
<li>fixed glTexSubImage3D z-offset bug (Cedric Gautier)
<li>fixed RGBA blend enable bug (Ville Syrjala)
<li>glAccum is supposed to be a no-op in selection/feedback mode
<li>fixed texgen bug #597589 (John Popplewell)
</ul>
Changes:
<ul>
<li>dropped API trace feature (src/Trace/)
<li>documentation overhaul. merged with website content. more html.
<li>glxgears.c demo updated to use GLX swap rate extensions
<li>glTexImage1/2/3D now allows width/height/depth = 0
<li>disable SPARC asm code on Linux (bug 852204)
</ul>
 
 
<h2>6.0 January 16, 2004</h2>
New:
<ul>
<li>full OpenGL 1.5 support
<li>updated GL/glext.h file to version 21
Changes:
<li>changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h)
Bug fixes:
<li>fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color
clamping issue
<li>updated suno5-gcc configs
<li>glColor3 functions sometimes resulted in undefined alpha values
<li>fixed FP divide by zero error seen on VMS with xlockmore, others
<li>fixed vertex/fragment program debug problem (bug 873011)
<li>building on AIX with gcc works now
<li>glDeleteProgramsARB failed for ARB fragment programs (bug 876160)
<li>glDrawRangeElements tried to modify potentially read-only storage
<li>updated files for building on Windows
</ul>
 
 
<h2>6.0.1 April 2, 2004</h2>
New:
<ul>
<li>upgraded glext.h to version 22
<li>new build targets (Dan Schikore)
<li>new linux-x86-opteron build target (Heath Feather)
</ul>
Bug fixes:
<ul>
<li>glBindProgramARB didn't update all necessary state
<li>fixed build problems on OpenBSD
<li>omit CVS directories from tarballs
<li>glGetTexImage(GL_COLOR_INDEX) was broken
<li>fixed an infinite loop in t&amp;l module
<li>silenced some valgrind warnings about using unitialized memory
<li>fixed some compilation/link glitches on IRIX (Mike Stephens)
<li>glBindProgram wasn't getting compiled into display lists
<li>GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
<li>two-sided lighting and vertex program didn't work (bug 887330)
<li>stores to program parameter registers in vertex state programs
didn't work.
<li>fixed glOrtho bug found with gcc 3.2.2 (RH9)
<li>glXCreateWindow() wasn't fully implemented (bug 890894)
<li>generic vertex attribute arrays didn't work in display lists
<li>vertex buffer objects' default usage and access fields were wrong
<li>glDrawArrays with start!=0 was broken
<li>fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
<li>linux-osmesa16-static config didn't work
<li>fixed a few color index rendering problems (bug 910687)
<li>glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
<li>OSMesa RGB and BGR modes were broken
<li>glProgramStringARB mistakenly required a null-terminated string
<li>fragment program XPD instruction was incorrect
<li>glGetMaterial() didn't work reliably
<li>ARB_fragment_program KIL instruction was incorrect
</ul>
 
 
<h2>6.1 August 18, 2004</h2>
New:
<ul>
<li>Revamped Makefile system
<li>glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
<li>internal driver interface changes related to texture object
allocation, vertex/fragment programs, BlendEquationSeparate, etc.
<li>option to walk triangle edges with double-precision floats
(Justin Novosad of Discreet) (see config.h file)
<li>support for AUX buffers in software GLX driver
<li>updated glext.h to version 24 and glxext.h to version 6
<li>new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
<li>updated BeOS support (Philippe Houdoin)
</ul>
Changes:
<ul>
<li>fragment fog interpolation is perspective corrected now
<li>new glTexImage code, much cleaner, may be a bit faster
</ul>
Bug fixes:
<ul>
<li>glArrayElement in display lists didn't handle generic vertex attribs
<li>glFogCoord didn't always work properly
<li>ARB_fragment_program fog options didn't work
<li>frag prog TEX instruction no longer incorrectly divides s,t,r by q
<li>ARB frag prog TEX and TEXP instructions now use LOD=0
<li>glTexEnviv in display lists didn't work
<li>glRasterPos didn't do texgen or apply texture matrix
<li>GL_DOUBLE-valued vertex arrays were broken in some cases
<li>fixed texture rectangle edge/border sampling bugs
<li>sampling an incomplete texture in a fragment program would segfault
<li>glTexImage was missing a few error checks
<li>fixed some minor glGetTexParameter glitches
<li>GL_INTENSITY was mistakenly accepted as a &lt;format&gt; to glTexImage
<li>fragment program writes to RC/HC register were broken
<li>fixed a few glitches in GL_HP_occlusion_test extension
<li>glBeginQueryARB and glEndQueryARB didn't work inside display lists
<li>vertex program state references were broken
<li>fixed triangle color interpolation bug on AIX (Shane Blackett)
<li>fixed a number of minor memory leaks (bug #1002030)
</ul>
 
 
<h2>6.2 October 2, 2004</h2>
New:
<ul>
<li>enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
<li>updated Doxygen support (Jose Fonseca)
</ul>
Changes:
<ul>
<li>some GGI driver updates (Christoph Egger, bug 1025977)
</ul>
Bug fixes:
<ul>
<li>Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
<li>fixed a few compilation issues on IRIX
<li>fixed a matrix classification bug (reported by Wes Bethel)
<li>we weren't reseting the vertex/fragment program error state
before parsing (Dave Reveman)
<li>adjust texcoords for sampling texture rectangles (Dave Reveman)
<li>glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
<li>repeated calls to glDeleteTexture(t) could lead to a crash
<li>fixed potential ref count bugs in VBOs and vertex/fragment programs
<li>spriteblast demo didn't handle window size changes correctly
<li>glTexSubImage didn't handle pixels=NULL correctly for PBOs
<li>fixed color index mode glDrawPixels bug (Karl Schultz)
</ul>
 
 
<h2>6.2.1 December 9, 2004</h2>
Bug fixes:
<ul>
<li>don't apply regular fog or color sum when using a fragment program
<li>glProgramEnvParameter4fARB always generated an error on
GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
<li>glVertexAttrib3svNV and glVertexAttrib3svARB were broken
<li>fixed width/height mix-up in glSeparableFilter2D()
<li>fixed regression in glCopyPixels + convolution
<li>glReadPixels from a clipped front color buffer didn't always work
<li>glTexImage didn't accept GL_RED/GREEN/BLUE as the format
<li>Attempting queries/accesses of VBO 0 weren't detected as errors
<li>paletted textures failed if the palette had fewer than 256 entries
</ul>
Changes:
<ul>
<li>fixed a bunch of compiler warnings found with gcc 3.4
<li>bug reports should to go bugzilla.freedesktop.org
</ul>
 
 
<h2>6.3 July 20, 2005</h2>
New:
<ul>
<li>GL_EXT_framebuffer_object extension
<li>GL_ARB_draw_buffers extension
<li>GL_ARB_pixel_buffer_object extension
<li>GL_OES_read_format extension (Ian Romanick)
<li>DirectFB driver (Claudio Ciccani)
<li>x86_64 vertex transformation code (Mikko T.)
<li>Updated GL/glext.h to version 29
</ul>
Changes:
<ul>
<li>added -stereo option for glxgears demo (Jacek Rosik)
<li>updated the PBuffer demo code in xdemos/ directory
<li>glDeleteTextures/Programs/Buffers() now makes the object ID
available for immediate re-use
<li>assorted 64-bit clean-ups fixes (x86_64 and Win64)
<li>lots of internal changes for GL_EXT_framebuffer_object
</ul>
Bug fixes:
<ul>
<li>some functions didn't support PBO functionality
<li>glGetTexImage didn't convert color index images to RGBA as required
<li>fragment program texcoords were sometimes wrong for points and lines
<li>fixed problem with negative dot product in arbfplight, fplight demos
<li>fixed bug in perspective correction of antialiased, textured lines
<li>querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
<li>fixed a couple per-pixel fog bugs (Soju Matsumoto)
<li>glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
<li>fixed float parsing bug in ARB frag/vert programs (bug 2520)
<li>XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
<li>GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
<li>glXChooseFBConfig() crashed if attribList pointer was NULL
<li>program state.light[n].spot.direction.w was wrong value (bug 3083)
<li>fragment program fog option required glEnable(GL_FOG) - wrong.
<li>glColorTable() could produce a Mesa implementation error (bug 3135)
<li>RasterPos could get corrupted by color index rendering path
<li>Removed bad XTranslateCoordinates call when rendering to Pixmaps
<li>glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
<li>fixed a few Darwin compilation problems
</ul>
 
 
<h2>6.3.1</h2>
<p>
This was an intermediate release for X.org which wasn't otherwise released.)
</p>
 
 
<h2>6.3.2 August 19, 2005</h2>
New:
<ul>
<li>The distribution now includes the DRI drivers and GLX code
</ul>
Changes:
<ul>
<li>Made the DRI "new" driver interface standard, remove old code
</ul>
Bug fixes:
<ul>
<li>GL_ARB_vertex/fragment_shader were mistakenly listed in the
extensions string
<li>negative relative addressing in vertex programs was broken
<li>update/fix SPARC assembly code for vertex transformation
<li>fixed memory leak when freeing GLX drawables/renderbuffers
<li>fixed display list memory leak
<li>the GL_PIXEL_MAP_I_TO_I table is now floating point, not integer
<li>wglGetProcAddress() didn't handle wgl-functions
<li>fixed glxext.h cross-compile issue (Colin Harrison)
<li>assorted DRI driver fixes
</ul>
 
 
<b>
NOTE: Changes for Mesa 6.4 and later are documented in the corresponding
<a href="relnotes.html">release notes</a> file.
</b>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/viewperf.html
0,0 → 1,267
<!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>Viewperf Issues</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Viewperf Issues</h1>
 
<p>
This page lists known issues with
<a href="http://www.spec.org/gwpg/gpc.static/vp11info.html" target="_main">SPEC Viewperf 11</a>
when running on Mesa-based drivers.
</p>
 
<p>
The Viewperf data sets are basically GL API traces that are recorded from
CAD applications, then replayed in the Viewperf framework.
</p>
 
<p>
The primary problem with these traces is they blindly use features and
OpenGL extensions that were supported by the OpenGL driver when the trace
was recorded,
but there's no checks to see if those features are supported by the driver
when playing back the traces with Viewperf.
</p>
 
<p>
These issues have been reported to the SPEC organization in the hope that
they'll be fixed in the future.
</p>
 
<p>
Some of the Viewperf tests use a lot of memory.
At least 2GB of RAM is recommended.
</p>
 
 
<h2>Catia-03 test 2</h2>
 
<p>
This test creates over 38000 vertex buffer objects. On some systems
this can exceed the maximum number of buffer allocations. Mesa
generates GL_OUT_OF_MEMORY errors in this situation, but Viewperf
does no error checking and continues. When this happens, some drawing
commands become no-ops. This can also eventually lead to a segfault
either in Viewperf or the Mesa driver.
</p>
 
 
 
<h2>Catia-03 tests 3, 4, 8</h2>
 
<p>
These tests use features of the
<a href="http://www.opengl.org/registry/specs/NV/fragment_program2.txt"
target="_main">
GL_NV_fragment_program2</a> and
<a href="http://www.opengl.org/registry/specs/NV/vertex_program3.txt"
target="_main">
GL_NV_vertex_program3</a> extensions without checking if the driver supports
them.
</p>
<p>
When Mesa tries to compile the vertex/fragment programs it generates errors
(which Viewperf ignores).
Subsequent drawing calls become no-ops and the rendering is incorrect.
</p>
 
 
 
<h2>sw-02 tests 1, 2, 4, 6</h2>
 
<p>
These tests depend on the
<a href="http://www.opengl.org/registry/specs/NV/primitive_restart.txt"
target="_main">GL_NV_primitive_restart</a> extension.
</p>
 
<p>
If the Mesa driver doesn't support this extension the rendering will
be incorrect and the test will fail.
</p>
 
<p>
Also, the color of the line drawings in test 2 seem to appear in a random
color. This is probably due to some uninitialized state somewhere.
</p>
 
 
 
<h2>sw-02 test 6</h2>
 
<p>
The lines drawn in this test appear in a random color.
That's because texture mapping is enabled when the lines are drawn, but no
texture image is defined (glTexImage2D() is called with pixels=NULL).
Since GL says the contents of the texture image are undefined in that
situation, we get a random color.
</p>
 
 
 
<h2>Lightwave-01 test 3</h2>
 
<p>
This test uses a number of mipmapped textures, but the textures are
incomplete because the last/smallest mipmap level (1 x 1 pixel) is
never specified.
</p>
 
<p>
A trace captured with
<a href="https://github.com/apitrace/apitrace" target="_main">API trace</a>
shows this sequences of calls like this:
 
<pre>
2504 glBindTexture(target = GL_TEXTURE_2D, texture = 55)
2505 glTexImage2D(target = GL_TEXTURE_2D, level = 0, internalformat = GL_RGBA, width = 512, height = 512, border = 0, format = GL_RGB, type = GL_UNSIGNED_SHORT, pixels = blob(1572864))
2506 glTexImage2D(target = GL_TEXTURE_2D, level = 1, internalformat = GL_RGBA, width = 256, height = 256, border = 0, format = GL_RGB, type = GL_UNSIGNED_SHORT, pixels = blob(393216))
2507 glTexImage2D(target = GL_TEXTURE_2D, level = 2, internalformat = GL_RGBA, width = 128, height = 128, border = 0, format = GL_RGB, type = GL_UNSIGNED_SHORT, pixels = blob(98304))
[...]
2512 glTexImage2D(target = GL_TEXTURE_2D, level = 7, internalformat = GL_RGBA, width = 4, height = 4, border = 0, format = GL_RGB, type = GL_UNSIGNED_SHORT, pixels = blob(96))
2513 glTexImage2D(target = GL_TEXTURE_2D, level = 8, internalformat = GL_RGBA, width = 2, height = 2, border = 0, format = GL_RGB, type = GL_UNSIGNED_SHORT, pixels = blob(24))
2514 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_MIN_FILTER, param = GL_LINEAR_MIPMAP_LINEAR)
2515 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_WRAP_S, param = GL_REPEAT)
2516 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_WRAP_T, param = GL_REPEAT)
2517 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_MAG_FILTER, param = GL_NEAREST)
</pre>
 
<p>
Note that one would expect call 2514 to be glTexImage(level=9, width=1,
height=1) but it's not there.
</p>
 
<p>
The minification filter is GL_LINEAR_MIPMAP_LINEAR and the texture's
GL_TEXTURE_MAX_LEVEL is 1000 (the default) so a full mipmap is expected.
</p>
 
<p>
Later, these incomplete textures are bound before drawing calls.
According to the GL specification, if a fragment program or fragment shader
is being used, the sampler should return (0,0,0,1) ("black") when sampling
from an incomplete texture.
This is what Mesa does and the resulting rendering is darker than it should
be.
</p>
 
<p>
It appears that NVIDIA's driver (and possibly AMD's driver) detects this case
and returns (1,1,1,1) (white) which causes the rendering to appear brighter
and match the reference image (however, AMD's rendering is <em>much</em>
brighter than NVIDIA's).
</p>
 
<p>
If the fallback texture created in _mesa_get_fallback_texture() is
initialized to be full white instead of full black the rendering appears
correct.
However, we have no plans to implement this work-around in Mesa.
</p>
 
 
<h2>Maya-03 test 2</h2>
 
<p>
This test makes some unusual calls to glRotate. For example:
</p>
<pre>
glRotate(50, 50, 50, 1);
glRotate(100, 100, 100, 1);
glRotate(52, 52, 52, 1);
</pre>
<p>
These unusual values lead to invalid modelview matrices.
For example, the last glRotate command above produces this matrix with Mesa:
<pre>
1.08536e+24 2.55321e-23 -0.000160389 0
5.96937e-25 1.08536e+24 103408 0
103408 -0.000160389 1.74755e+09 0
0 0 0 nan
</pre>
and with NVIDIA's OpenGL:
<pre>
1.4013e-45 0 -nan 0
0 1.4013e-45 1.4013e-45 0
1.4013e-45 -nan 1.4013e-45 0
0 0 0 1.4013e-45
</pre>
<p>
This causes the object in question to be drawn in a strange orientation
and with a semi-random color (between white and black) since GL_FOG is enabled.
</p>
 
 
<h2>Proe-05 test 1</h2>
 
<p>
This uses depth testing but there's two problems:
<ol>
<li>The glXChooseFBConfig() call doesn't request a depth buffer
<li>The test never calls glClear(GL_DEPTH_BUFFER_BIT) to initialize the depth buffer
</ol>
<p>
If the chosen visual does not have a depth buffer, you'll see the wireframe
car model but it won't be rendered correctly.
</p>
If (by luck) the chosen visual has a depth buffer, its initial contents
will be undefined so you may or may not see parts of the model.
<p>
Interestingly, with NVIDIA's driver most visuals happen to have a depth buffer
and apparently the contents are initialized to 1.0 by default so this test
just happens to work with their drivers.
</p>
 
<p>
Finally, even if a depth buffer was requested and the glClear(GL_COLOR_BUFFER_BIT)
calls were changed to glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
the problem still wouldn't be fixed because GL_DEPTH_WRITEMASK=GL_FALSE when
glClear is called so clearing the depth buffer would be a no-op anyway.
</p>
 
 
<h2>Proe-05 test 6</h2>
 
<p>
This test draws an engine model with a two-pass algorithm.
The first pass is drawn with polygon stipple enabled.
The second pass is drawn without polygon stipple but with blending
and GL_DEPTH_FUNC=GL_LEQUAL.
If either of the two passes happen to use a software fallback of some
sort, the Z values of fragments may be different between the two passes.
This leads to incorrect rendering.
</p>
 
<p>
For example, the VMware SVGA gallium driver uses a special semi-fallback path
for drawing with polygon stipple.
Since the two passes are rendered with different vertex transformation
implementations, the rendering doesn't appear as expected.
Setting the SVGA_FORCE_SWTNL environment variable to 1 will force the
driver to use the software vertex path all the time and clears up this issue.
</p>
 
<p>
According to the OpenGL invariance rules, there's no guarantee that
the pixels produced by these two rendering states will match.
To achieve invariance, both passes should enable polygon stipple and
blending with appropriate patterns/modes to ensure the same fragments
are produced in both passes.
</p>
 
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/vmware-guest.html
0,0 → 1,224
<!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>VMware guest GL driver</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>VMware guest GL driver</h1>
 
<p>
This page describes how to build, install and use the
<a href="http://www.vmware.com/">VMware</a> guest GL driver
(aka the SVGA or SVGA3D driver) for Linux using the latest source code.
This driver gives a Linux virtual machine access to the host's GPU for
hardware-accelerated 3D.
VMware Workstation running on Linux or Windows and VMware Fusion running on
MacOS are all supported.
</p>
 
<p>
End users shouldn't have to go through all these steps once the driver is
included in newer Linux distributions.
Fedora 18 and Ubuntu 12.10 include the VMware guest GL driver, for example.
</p>
 
<p>
For more information about the X components see these wiki pages at x.org:
</p>
<ul>
<li><a href="http://wiki.x.org/wiki/vmware">
Driver Overview</a>
<li><a href="http://wiki.x.org/wiki/vmware/vmware3D">
xf86-video-vmware Details</a>
</ul>
 
 
<h2>Components</h2>
 
The components involved in this include:
<ul>
<li>Linux kernel module: vmwgfx
<li>X server 2D driver: xf86-video-vmware
<li>User-space libdrm library
<li>Mesa/gallium OpenGL driver: "svga"
</ul>
 
 
<h2>Prerequisites</h2>
 
<ul>
<li>Kernel version at least 2.6.25
<li>Xserver version at least 1.7
<li>Ubuntu: For ubuntu you need to install a number of build dependencies.
<pre>
sudo apt-get install git-core
sudo apt-get install automake libtool libpthread-stubs0-dev
sudo apt-get install xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev
sudo apt-get install libxcb-glx0-dev libxrender-dev
sudo apt-get build-dep libgl1-mesa-dri libxcb-glx0-dev
</pre>
<li>Fedora: For Fedora you also need to install a number of build dependencies.
<pre>
sudo yum install mesa-libGL-devel xorg-x11-server-devel xorg-x11-util-macros
sudo yum install libXrender-devel.i686
sudo yum install automake gcc libtool expat-devel kernel-devel git-core
sudo yum install makedepend flex bison
</pre>
</ul>
 
<p>
Depending on your Linux distro, other packages may be needed.
The configure scripts should tell you what's missing.
</p>
 
 
 
<h2>Getting the Latest Source Code</h2>
 
Begin by saving your current directory location:
<pre>
export TOP=$PWD
</pre>
 
<ul>
<li>Mesa/Gallium master branch. This code is used to build libGL, and the direct rendering svga driver for libGL, vmwgfx_dri.so, and the X acceleration library libxatracker.so.x.x.x.
<pre>
git clone git://anongit.freedesktop.org/git/mesa/mesa
</pre>
<li>VMware Linux guest kernel module. Note that this repo contains the complete DRM and TTM code. The vmware-specific driver is really only the files prefixed with vmwgfx.
<pre>
git clone git://anongit.freedesktop.org/git/mesa/vmwgfx
</pre>
<li>libdrm, a user-space library that interfaces with drm.
Most distros ship with this but it's safest to install a newer version.
To get the latest code from git:
<pre>
git clone git://anongit.freedesktop.org/git/mesa/drm
</pre>
<li>xf86-video-vmware. The chainloading driver, vmware_drv.so, the legacy driver vmwlegacy_drv.so, and the vmwgfx driver vmwgfx_drv.so.
<pre>
git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-vmware
</pre>
</ul>
 
 
<h2>Building the Code</h2>
 
<ul>
<li>Build libdrm: If you're on a 32-bit system, you should skip the --libdir configure option. Note also the comment about toolchain libdrm above.
<pre>
cd $TOP/drm
./autogen.sh --prefix=/usr --libdir=/usr/lib64
make
sudo make install
</pre>
<li>Build Mesa and the vmwgfx_dri.so driver, the vmwgfx_drv.so xorg driver, the X acceleration library libxatracker.
The vmwgfx_dri.so is used by the OpenGL libraries during direct rendering,
and by the Xorg server during accelerated indirect GL rendering.
The libxatracker library is used exclusively by the X server to do render,
copy and video acceleration:
<br>
The following configure options doesn't build the EGL system.
<br>
As before, if you're on a 32-bit system, you should skip the --libdir
configure option.
<pre>
cd $TOP/mesa
./autogen.sh --prefix=/usr --libdir=/usr/lib64 --with-gallium-drivers=svga --with-dri-drivers= --enable-xa
make
sudo make install
</pre>
 
Note that you may have to install other packages that Mesa depends upon
if they're not installed in your system. You should be told what's missing.
<br>
<br>
 
<li>xf86-video-vmware: Now, once libxatracker is installed, we proceed with building and replacing the current Xorg driver. First check if your system is 32- or 64-bit. If you're building for a 32-bit system, you will not be needing the --libdir=/usr/lib64 option to autogen.
<pre>
cd $TOP/xf86-video-vmware
./autogen.sh --prefix=/usr --libdir=/usr/lib64
make
sudo make install
</pre>
<li>vmwgfx kernel module. First make sure that any old version of this kernel module is removed from the system by issuing
<pre>
sudo rm /lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx.ko*
</pre>
Then
<pre>
cd $TOP/vmwgfx
make
sudo make install
sudo cp 00-vmwgfx.rules /etc/udev/rules.d
sudo depmod -ae
</pre>
 
Note: some distros put DRM kernel drivers in different directories.
For example, sometimes vmwgfx.ko might be found in
<code>/lib/modules/{version}/extra/vmwgfx.ko</code> or in
<code>/lib/modules/{version}/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko</code>.
<p>
After installing vmwgfx.ko you might want to run the following command to
check that the new kernel module is in the expected place:
<pre>
find /lib/modules -name vmwgfx.ko -exec ls -l '{}' \;
</pre>
If you see the kernel module listed in more than one place, you may need to
move things around.
<p>
Finally, if you update your kernel you'll probably have to rebuild and
reinstall the vmwgfx.ko module again.
</ul>
 
 
Now try to load the kernel module by issuing
<pre>
sudo modprobe vmwgfx</pre>
Then type
<pre>
dmesg</pre>
to watch the debug output. It should contain a number of lines prefixed with "[vmwgfx]".
 
<p>
Then restart the Xserver (or reboot).
The lines starting with "vmwlegacy" or "VMWARE" in the file /var/log/Xorg.0.log
should now have been replaced with lines starting with "vmwgfx", indicating that
the new Xorg driver is in use.
</p>
 
 
<h2>Running OpenGL Programs</h2>
 
<p>
In a shell, run 'glxinfo' and look for the following to verify that the
driver is working:
</p>
 
<pre>
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE;
OpenGL version string: 2.1 Mesa 8.0
</pre>
 
<p>
If you don't see this, try setting this environment variable:
<pre>
export LIBGL_DEBUG=verbose</pre>
<p>
then rerun glxinfo and examine the output for error messages.
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/webmaster.html
0,0 → 1,32
<!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 Introduction</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Webmaster</h1>
 
<p>
If you have problems, edits or additions for this website send them
to Brian
(<em>b</em><em>r</em><em>i</em><em>a</em><em>n</em><em>.</em><em>e</em><em>.</em><em>p</em><em>a</em><em>u</em><em>l</em><em>&nbsp;</em><em>g</em><em>m</em><em>a</em><em>i</em><em>l</em><em>.</em><em>c</em><em>o</em><em>m</em>).
</p>
 
<p>
Mark Manning made the frame-based layout for the website.
Brian's modified it a lot since then.
</p>
 
</div>
</body>
</html>
/contrib/sdk/sources/Mesa/docs/xlibdriver.html
0,0 → 1,283
<!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>Xlib Software Driver</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
 
<div class="header">
<h1>The Mesa 3D Graphics Library</h1>
</div>
 
<iframe src="contents.html"></iframe>
<div class="content">
 
<h1>Xlib Software Driver</h1>
 
<p>
Mesa's Xlib driver provides an emulation of the GLX interface so that
OpenGL programs which use the GLX API can render to any X display, even
those that don't support the GLX extension.
Effectively, the Xlib driver converts all OpenGL rendering into Xlib calls.
</p>
 
<p>
The Xlib driver is the oldest Mesa driver and the most mature of Mesa's
software-only drivers.
</p>
 
<p>
Since the Xlib driver <em>emulates</em> the GLX extension, it's not
totally conformant with a true GLX implementation.
The differences are fairly obscure, however.
</p>
 
<p>
The unique features of the Xlib driver follows.
</p>
 
 
<h2>X Visual Selection</h2>
<p>
Mesa supports RGB(A) rendering into almost any X visual type and depth.
</p>
<p>
The glXChooseVisual function tries to choose the best X visual
for the given attribute list. However, if this doesn't suit your needs
you can force Mesa to use any X visual you want (any supported by your
X server that is) by setting the <b>MESA_RGB_VISUAL</b> and
<b>MESA_CI_VISUAL</b>
environment variables.
When an RGB visual is requested, glXChooseVisual
will first look if the MESA_RGB_VISUAL variable is defined.
If so, it will try to use the specified visual.
Similarly, when a color index visual is requested, glXChooseVisual will
look for the MESA_CI_VISUAL variable.
</p>
 
<p>
The format of accepted values is: <code>visual-class depth</code>
</p>
<p>
Here are some examples:
</p>
<pre>
using csh:
% setenv MESA_RGB_VISUAL "TrueColor 8" // 8-bit TrueColor
% setenv MESA_CI_VISUAL "PseudoColor 12" // 12-bit PseudoColor
% setenv MESA_RGB_VISUAL "PseudoColor 8" // 8-bit PseudoColor
 
using bash:
$ export MESA_RGB_VISUAL="TrueColor 8"
$ export MESA_CI_VISUAL="PseudoColor 12"
$ export MESA_RGB_VISUAL="PseudoColor 8"
</pre>
 
 
<h2>Double Buffering</h2>
<p>
Mesa can use either an X Pixmap or XImage as the back color buffer when in
double-buffer mode.
The default is to use an XImage.
The <b>MESA_BACK_BUFFER</b> environment variable can override this.
The valid values for <b>MESA_BACK_BUFFER</b> are: <b>Pixmap</b> and
<b>XImage</b> (only the first letter is checked, case doesn't matter).
</p>
 
<p>
Using XImage is almost always faster than a Pixmap since it resides in
the application's address space.
When glXSwapBuffers() is called, XPutImage() or XShmPutImage() is used
to transfer the XImage to the on-screen window.
</p>
<p>
A Pixmap may be faster when doing remote rendering of a simple scene.
Some OpenGL features will be very slow with a Pixmap (for example, blending
will require a round-trip message for pixel readback.)
</p>
<p>
Experiment with the MESA_BACK_BUFFER variable to see which is faster
for your application.
</p>
 
 
<h2>Colormaps</h2>
<p>
When using Mesa directly or with GLX, it's up to the application
writer to create a window with an appropriate colormap. The GLUT
toolkit tris to minimize colormap <em>flashing</em> by sharing
colormaps when possible. Specifically, if the visual and depth of the
window matches that of the root window, the root window's colormap
will be shared by the Mesa window. Otherwise, a new, private colormap
will be allocated.
</p>
 
<p>
When sharing the root colormap, Mesa may be unable to allocate the colors
it needs, resulting in poor color quality. This can happen when a
large number of colorcells in the root colormap are already allocated.
To prevent colormap sharing in GLUT, set the
<b>MESA_PRIVATE_CMAP</b> environment variable. The value isn't
significant.
</p>
 
 
<h2>Gamma Correction</h2>
<p>
To compensate for the nonlinear relationship between pixel values
and displayed intensities, there is a gamma correction feature in
Mesa. Some systems, such as Silicon Graphics, support gamma
correction in hardware (man gamma) so you won't need to use Mesa's
gamma facility. Other systems, however, may need gamma adjustment
to produce images which look correct. If you believe that
Mesa's images are too dim, read on.
</p>
 
<p>
Gamma correction is controlled with the <b>MESA_GAMMA</b> environment
variable. Its value is of the form <b>Gr Gg Gb</b> or just <b>G</b> where
Gr is the red gamma value, Gg is the green gamma value, Gb is the
blue gamma value and G is one gamma value to use for all three
channels. Each value is a positive real number typically in the
range 1.0 to 2.5.
The defaults are all 1.0, effectively disabling gamma correction.
Examples:
</p>
<pre>
% export MESA_GAMMA="2.3 2.2 2.4" // separate R,G,B values
% export MESA_GAMMA="2.0" // same gamma for R,G,B
</pre>
<p>
The <code>demos/gamma.c</code> program in mesa/demos repository may help
you to determine reasonable gamma value for your display. With correct
gamma values, the color intensities displayed in the top row (drawn by
dithering) should nearly match those in the bottom row (drawn as grays).
</p>
 
<p>
Alex De Bruyn reports that gamma values of 1.6, 1.6 and 1.9 work well
on HP displays using the HP-ColorRecovery technology.
</p>
 
<p>
Mesa implements gamma correction with a lookup table which translates
a "linear" pixel value to a gamma-corrected pixel value. There is a
small performance penalty. Gamma correction only works in RGB mode.
Also be aware that pixel values read back from the frame buffer will
not be "un-corrected" so glReadPixels may not return the same data
drawn with glDrawPixels.
</p>
 
<p>
For more information about gamma correction see:
<a href="http://www.inforamp.net/~poynton/notes/colour_and_gamma/GammaFAQ.html">
the Gamma FAQ</a>
</p>
 
 
<h2>Overlay Planes</h2>
<p>
Hardware overlay planes are supported by the Xlib driver. To
determine if your X server has overlay support you can test for the
SERVER_OVERLAY_VISUALS property:
</p>
<pre>
xprop -root | grep SERVER_OVERLAY_VISUALS
</pre>
 
 
<h2>HPCR Dithering</h2>
<p>
If you set the <b>MESA_HPCR_CLEAR</b> environment variable then dithering
will be used when clearing the color buffer. This is only applicable
to HP systems with the HPCR (Color Recovery) feature.
This incurs a small performance penalty.
</p>
 
 
<h2>Extensions</h2>
<p>
The following MESA-specific extensions are implemented in the Xlib driver.
</p>
 
<h3>GLX_MESA_pixmap_colormap</h3>
 
<p>
This extension adds the GLX function:
</p>
<pre>
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
Pixmap pixmap, Colormap cmap )
</pre>
<p>
It is an alternative to the standard glXCreateGLXPixmap() function.
Since Mesa supports RGB rendering into any X visual, not just True-
Color or DirectColor, Mesa needs colormap information to convert RGB
values into pixel values. An X window carries this information but a
pixmap does not. This function associates a colormap to a GLX pixmap.
See the xdemos/glxpixmap.c file for an example of how to use this
extension.
</p>
<p>
<a href="specs/MESA_pixmap_colormap.spec">GLX_MESA_pixmap_colormap specification</a>
</p>
 
 
<h3>GLX_MESA_release_buffers</h3>
<p>
Mesa associates a set of ancillary (depth, accumulation, stencil and
alpha) buffers with each X window it draws into. These ancillary
buffers are allocated for each X window the first time the X window
is passed to glXMakeCurrent(). Mesa, however, can't detect when an
X window has been destroyed in order to free the ancillary buffers.
</p>
<p>
The best it can do is to check for recently destroyed windows whenever
the client calls the glXCreateContext() or glXDestroyContext()
functions. This may not be sufficient in all situations though.
</p>
<p>
The GLX_MESA_release_buffers extension allows a client to explicitly
deallocate the ancillary buffers by calling glxReleaseBuffersMESA()
just before an X window is destroyed. For example:
</p>
<pre>
#ifdef GLX_MESA_release_buffers
glXReleaseBuffersMESA( dpy, window );
#endif
XDestroyWindow( dpy, window );
</pre>
<p>
<a href="specs/MESA_release_buffers.spec">GLX_MESA_release_buffers specification</a>
</p>
<p>
This extension was added in Mesa 2.0.
</p>
 
<h3>GLX_MESA_copy_sub_buffer</h3>
<p>
This extension adds the glXCopySubBufferMESA() function. It works
like glXSwapBuffers() but only copies a sub-region of the window
instead of the whole window.
</p>
<p>
<a href="specs/MESA_copy_sub_buffer.spec">GLX_MESA_copy_sub_buffer specification</a>
</p>
<p>
This extension was added in Mesa 2.6
</p>
 
<h2>Summary of X-related environment variables</h2>
<pre>
MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)
MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only)
MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only)
MESA_GAMMA - gamma correction coefficients (X only)
</pre>
 
</div>
</body>
</html>