/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 & 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&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 <stdbool.h></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 <commit></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->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_<hw></code>) and client API modules |
(<code>st_<api></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<Resource>Bound</code> to check if a resource is bound |
(current) to any thread in the destroy callbacks. If it is still bound, the |
resource is not destroyed.</p> |
<p>The main library will mark destroyed current resources as unlinked. In a |
driver's <code>MakeCurrent</code> callback, |
<code>eglIs<Resource>Linked</code> can then be called to check if a newly |
released resource is linked to a display. If it is not, the last reference to |
the resource is removed and the driver should destroy the resource. But it |
should be careful here because <code>MakeCurrent</code> might be called with an |
uninitialized display.</p> |
<p>This is the only mechanism provided by the main library to help manage the |
resources. The drivers are responsible to the correct behavior as defined by |
EGL.</p> |
<h3><code>EGL_RENDER_BUFFER</code></h3> |
<p>In EGL, the color buffer a context should try to render to is decided by the |
binding surface. It should try to render to the front buffer if the binding |
surface has <code>EGL_RENDER_BUFFER</code> set to |
<code>EGL_SINGLE_BUFFER</code>; If the same context is later bound to a |
surface with <code>EGL_RENDER_BUFFER</code> set to |
<code>EGL_BACK_BUFFER</code>, the context should try to render to the back |
buffer. However, the context is allowed to make the final decision as to which |
color buffer it wants to or is able to render to.</p> |
<p>For pbuffer surfaces, the render buffer is always |
<code>EGL_BACK_BUFFER</code>. And for pixmap surfaces, the render buffer is |
always <code>EGL_SINGLE_BUFFER</code>. Unlike window surfaces, EGL spec |
requires their <code>EGL_RENDER_BUFFER</code> values to be honored. As a |
result, a driver should never set <code>EGL_PIXMAP_BIT</code> or |
<code>EGL_PBUFFER_BIT</code> bits of a config if the contexts created with the |
config won't be able to honor the <code>EGL_RENDER_BUFFER</code> of pixmap or |
pbuffer surfaces.</p> |
<p>It should also be noted that pixmap and pbuffer surfaces are assumed to be |
single-buffered, in that <code>eglSwapBuffers</code> has no effect on them. It |
is desirable that a driver allocates a private color buffer for each pbuffer |
surface created. If the window system the driver supports has native pbuffers, |
or if the native pixmaps have more than one color buffers, the driver should |
carefully attach the native color buffers to the EGL surfaces, re-route them if |
required.</p> |
<p>There is no defined behavior as to, for example, how |
<code>glDrawBuffer</code> interacts with <code>EGL_RENDER_BUFFER</code>. Right |
now, it is desired that the draw buffer in a client API be fixed for pixmap and |
pbuffer surfaces. Therefore, the driver is responsible to guarantee that the |
client API renders to the specified render buffer for pixmap and pbuffer |
surfaces.</p> |
<h3><code>EGLDisplay</code> Mutex</h3> |
The <code>EGLDisplay</code> will be locked before calling any of the dispatch |
functions (well, except for GetProcAddress which does not take an |
<code>EGLDisplay</code>). This guarantees that the same dispatch function will |
not be called with the sample display at the same time. If a driver has access |
to an <code>EGLDisplay</code> without going through the EGL APIs, the driver |
should as well lock the display before using it. |
</div> |
</body> |
</html> |
/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 >= 3.0. |
<li> GL versions < 3.0 are set to a compatibility (non-Core) profile |
<li> GL versions = 3.0, see below |
<li> GL versions > 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ö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 <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) |
</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&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 & 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&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->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) |
</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 — Mesa + swrast, binary compatible with Windows's opengl32.dll |
<li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — 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 <same-as-before> |
</pre> |
<p> |
This will ensure that frame pointers are used both in C and JIT functions, and |
that no tail call optimizations are done by gcc. |
</p> |
<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() --> _mesa_Foo() |
OpenGL ES: glFoo() --> _es_Foo() --> _mesa_Foo() |
</pre> |
<p>The indirection serves several purposes</p> |
<ul> |
<li>When a function is in Mesa and the type matches, it checks the arguments and calls the Mesa function.</li> |
<li>When a function is in Mesa but the type mismatches, it checks and converts the arguments before calling the Mesa function.</li> |
<li>When a function is not available in Mesa, or accepts arguments that are not available in OpenGL, it provides its own implementation.</li> |
</ul> |
<p>Other than the last case, OpenGL ES uses <code>APIspec.xml</code> to generate functions to check and/or converts the arguments.</p> |
</div> |
</body> |
</html> |
/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 >= 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->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–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&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 < 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->Parameters->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 & 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->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<5 && i<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->_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]->type->base_type == op[1]->type->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]->type->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 > 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->count > 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 `&&' 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 <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 && stfb->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->base_type >= 0) && (type->base_type <= 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 >= 1) && (size <= 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->operands[i]->type->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 -> 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->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 >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->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 << and >> 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 ->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->map_gtt</li> |
<li>i915g: kill idws->pool</li> |
<li>i915g: drop alignment parameter from iws->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->buffer_from_handle</li> |
<li>i915g: implement unfenced color&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->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->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->FP output->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 ->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 <= 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 & 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 & 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 & resource unbinding</li> |
<li>r600g: fix routing btw vertex & 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 & literal src splitting, also fix mplayer gl2 shader</li> |
<li>evergreeng: avoid overlapping border color btw VS & 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 & 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 & 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 > 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->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 -> 24bit & 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 -> 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 -> 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 <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->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->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->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->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->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 >= 1.30.</li> |
<li>Refresh autogenerated glcpp parser.</li> |
<li>glsl: Fix constant expression handling for <, >, <=, >= 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->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 -> 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 -> 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 -> 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&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 -> 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 >= 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->nr_cbufs <= 1 on nv30</li> |
<li>nvfx: reset nvfx->hw_zeta</li> |
<li>nvfx: fixes after array textures merge</li> |
<li>init ps->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 & 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 >= 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->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->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 < 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 `&buf->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 > 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->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->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 <= 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->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->has_surface_tile_offset || (tile_x == 0 && 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 && stfb->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->base_type >= 0) && (type->base_type <= 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 >= 1) && (size <= 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->operands[i]->type->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 >= 1.30.</li> |
<li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li> |
<li>glsl: Fix constant expression handling for <, >, <=, >= 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 >= 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 < 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 & 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 >= 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>dest)->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 > 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->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->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 < 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 <, <=, >, and >=.</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 <= buffer->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->rtt_level <= strb->texture->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 -> 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->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 >= 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->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->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 < lpr->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->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 <= resource->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->pt->height0, src_level) == stImage->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 && 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->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->pt->height0, src_level) == stImage->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 <time.h></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 < 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->Index < (sizeof(ctx->imm)/sizeof((ctx->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 > 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 >= 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 > 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 < 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 "Stars" crash: brw_fs_emit.cpp:708: brw_reg brw_reg_from_fs_reg(fs_reg*): Assertion „!"not reached"“ 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->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 >= 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->lod_info.lod->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->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->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->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 "return" 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 > 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->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->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->Array.RestartIndex, not _RestartIndex.</li> |
<li>mesa: Ignore fixed-index primitive restart in ArrayElement().</li> |
<li>mesa: Delete the ctx->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 >= 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 > 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->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->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 <pre> 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 << 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 <= 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->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 <files to commit> |
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&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 > 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 > 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->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 & 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 -> xdemos, gdemos -> 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->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 -> 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&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 & 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&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 <format> 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> </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> |