[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'upstream-unstable'



 Makefile                                                          |    2 
 configure.ac                                                      |   15 
 docs/llvmpipe.html                                                |   48 -
 docs/news.html                                                    |    7 
 docs/relnotes-7.11.1.html                                         |  387 +++++++++
 docs/relnotes-7.11.html                                           |    7 
 include/GL/gl.h                                                   |    2 
 src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c                |    7 
 src/gallium/auxiliary/util/u_math.h                               |   13 
 src/gallium/auxiliary/util/u_vbuf_mgr.c                           |  273 +++---
 src/gallium/auxiliary/util/u_vbuf_mgr.h                           |   52 -
 src/gallium/drivers/i915/i915_state_dynamic.c                     |    4 
 src/gallium/drivers/nouveau/nouveau_fence.c                       |   21 
 src/gallium/drivers/nouveau/nouveau_fence.h                       |    7 
 src/gallium/drivers/nouveau/nouveau_screen.h                      |    2 
 src/gallium/drivers/nv50/nv50_screen.c                            |    8 
 src/gallium/drivers/nvc0/nvc0_screen.c                            |    8 
 src/gallium/drivers/r300/r300_context.c                           |    4 
 src/gallium/drivers/r300/r300_context.h                           |    2 
 src/gallium/drivers/r300/r300_emit.c                              |   24 
 src/gallium/drivers/r300/r300_query.c                             |    3 
 src/gallium/drivers/r300/r300_render.c                            |   19 
 src/gallium/drivers/r300/r300_state.c                             |    8 
 src/gallium/drivers/r300/r300_texture.c                           |   22 
 src/gallium/drivers/r300/r300_texture.h                           |    8 
 src/gallium/drivers/r300/r300_texture_desc.c                      |   20 
 src/gallium/drivers/r300/r300_texture_desc.h                      |    6 
 src/gallium/drivers/r600/eg_state_inlines.h                       |    4 
 src/gallium/drivers/r600/evergreen_state.c                        |   24 
 src/gallium/drivers/r600/r600.h                                   |    4 
 src/gallium/drivers/r600/r600_asm.c                               |   32 
 src/gallium/drivers/r600/r600_pipe.c                              |    4 
 src/gallium/drivers/r600/r600_pipe.h                              |    2 
 src/gallium/drivers/r600/r600_shader.c                            |   45 -
 src/gallium/drivers/r600/r600_shader.h                            |    1 
 src/gallium/drivers/r600/r600_state.c                             |   22 
 src/gallium/drivers/r600/r600_state_common.c                      |   25 
 src/gallium/drivers/r600/r600_state_inlines.h                     |    4 
 src/gallium/drivers/softpipe/sp_quad_depth_test.c                 |    7 
 src/gallium/winsys/r600/drm/evergreen_hw_context.c                |    2 
 src/gallium/winsys/r600/drm/r600_drm.c                            |   59 +
 src/gallium/winsys/r600/drm/r600_hw_context.c                     |   96 ++
 src/gallium/winsys/r600/drm/r600_priv.h                           |    3 
 src/gallium/winsys/radeon/drm/radeon_drm_cs.c                     |   33 
 src/gallium/winsys/radeon/drm/radeon_drm_cs.h                     |    1 
 src/gallium/winsys/radeon/drm/radeon_winsys.h                     |    4 
 src/glsl/ast.h                                                    |    3 
 src/glsl/ast_function.cpp                                         |  106 ++
 src/glsl/ast_to_hir.cpp                                           |  161 ++--
 src/glsl/builtins/ir/asin                                         |   68 +
 src/glsl/builtins/ir/atan                                         |    4 
 src/glsl/builtins/ir/radians                                      |    8 
 src/glsl/glcpp/glcpp-parse.y                                      |   89 +-
 src/glsl/glcpp/tests/086-reserved-macro-names.c                   |    1 
 src/glsl/glcpp/tests/086-reserved-macro-names.c.expected          |    5 
 src/glsl/glcpp/tests/097-paste-with-non-function-macro.c          |    3 
 src/glsl/glcpp/tests/097-paste-with-non-function-macro.c.expected |    4 
 src/glsl/glcpp/tests/098-elif-undefined.c                         |    3 
 src/glsl/glcpp/tests/098-elif-undefined.c.expected                |    5 
 src/glsl/glsl_parser.yy                                           |   10 
 src/glsl/glsl_parser_extras.h                                     |    6 
 src/glsl/glsl_types.cpp                                           |   16 
 src/glsl/glsl_types.h                                             |   35 
 src/glsl/ir.cpp                                                   |    5 
 src/glsl/ir.h                                                     |   10 
 src/glsl/ir_clone.cpp                                             |    1 
 src/glsl/ir_function.cpp                                          |  107 --
 src/glsl/ir_function_detect_recursion.cpp                         |    5 
 src/glsl/ir_hierarchical_visitor.h                                |    3 
 src/glsl/ir_hv_accept.cpp                                         |   21 
 src/glsl/ir_variable.cpp                                          |    6 
 src/glsl/link_functions.cpp                                       |    4 
 src/glsl/linker.cpp                                               |  193 ++--
 src/glsl/linker.h                                                 |    3 
 src/glsl/lower_instructions.cpp                                   |    4 
 src/glsl/lower_jumps.cpp                                          |  184 ++++
 src/glsl/main.cpp                                                 |    1 
 src/glsl/opt_dead_functions.cpp                                   |   11 
 src/glsl/program.h                                                |    8 
 src/glsl/s_expression.cpp                                         |   64 +
 src/glsl/s_expression.h                                           |    2 
 src/glx/apple/apple_glapi.c                                       |   15 
 src/glx/apple/apple_glx.h                                         |    1 
 src/glx/apple/apple_glx_pbuffer.c                                 |    3 
 src/glx/apple/apple_glx_pixmap.c                                  |    3 
 src/glx/apple/apple_glx_surface.c                                 |    3 
 src/glx/apple/appledri.c                                          |    6 
 src/glx/applegl_glx.c                                             |   18 
 src/glx/dri2.c                                                    |    9 
 src/glx/dri2_glx.c                                                |   25 
 src/glx/drisw_glx.c                                               |   11 
 src/glx/glxextensions.c                                           |    2 
 src/mesa/drivers/common/meta.c                                    |   36 
 src/mesa/drivers/dri/i915/Makefile                                |    2 
 src/mesa/drivers/dri/i915/i830_vtbl.c                             |    7 
 src/mesa/drivers/dri/i915/i915_fragprog.c                         |   19 
 src/mesa/drivers/dri/i915/i915_program.c                          |   14 
 src/mesa/drivers/dri/i915/i915_texstate.c                         |    1 
 src/mesa/drivers/dri/i915/intel_extensions_es.c                   |    1 
 src/mesa/drivers/dri/i915/intel_extensions_es2.c                  |    1 
 src/mesa/drivers/dri/i965/Makefile                                |    2 
 src/mesa/drivers/dri/i965/brw_defines.h                           |    9 
 src/mesa/drivers/dri/i965/brw_eu_emit.c                           |  394 +++++-----
 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp                      |   25 
 src/mesa/drivers/dri/i965/brw_misc_state.c                        |   18 
 src/mesa/drivers/dri/i965/brw_tex_layout.c                        |    7 
 src/mesa/drivers/dri/i965/brw_wm_sampler_state.c                  |    9 
 src/mesa/drivers/dri/i965/gen6_sf_state.c                         |   19 
 src/mesa/drivers/dri/i965/gen6_vs_state.c                         |    2 
 src/mesa/drivers/dri/i965/gen7_misc_state.c                       |    2 
 src/mesa/drivers/dri/i965/gen7_sampler_state.c                    |    9 
 src/mesa/drivers/dri/i965/gen7_sf_state.c                         |   19 
 src/mesa/drivers/dri/i965/intel_extensions_es.c                   |    1 
 src/mesa/drivers/dri/i965/intel_extensions_es2.c                  |    1 
 src/mesa/drivers/dri/intel/intel_batchbuffer.c                    |   39 
 src/mesa/drivers/dri/intel/intel_buffer_objects.c                 |    7 
 src/mesa/drivers/dri/intel/intel_context.c                        |    3 
 src/mesa/drivers/dri/intel/intel_extensions.h                     |    3 
 src/mesa/drivers/dri/intel/intel_extensions_es.c                  |  156 +++
 src/mesa/drivers/dri/intel/intel_extensions_es2.c                 |  110 --
 src/mesa/drivers/dri/intel/intel_mipmap_tree.c                    |    2 
 src/mesa/drivers/dri/intel/intel_tex_copy.c                       |   12 
 src/mesa/drivers/dri/intel/intel_tex_image.c                      |    4 
 src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c              |    2 
 src/mesa/drivers/dri/r300/compiler/radeon_optimize.c              |   42 -
 src/mesa/drivers/dri/r300/compiler/radeon_variable.c              |    9 
 src/mesa/main/api_noop.c                                          |    4 
 src/mesa/main/arbprogram.c                                        |  229 ++---
 src/mesa/main/bufferobj.c                                         |   11 
 src/mesa/main/buffers.c                                           |   29 
 src/mesa/main/colormac.h                                          |    4 
 src/mesa/main/compiler.h                                          |    2 
 src/mesa/main/condrender.c                                        |    5 
 src/mesa/main/dlist.c                                             |  186 ++--
 src/mesa/main/enable.c                                            |    3 
 src/mesa/main/extensions.c                                        |    2 
 src/mesa/main/fbobject.c                                          |    4 
 src/mesa/main/feedback.c                                          |    7 
 src/mesa/main/get.c                                               |   22 
 src/mesa/main/image.c                                             |   13 
 src/mesa/main/mtypes.h                                            |    2 
 src/mesa/main/pbo.c                                               |   13 
 src/mesa/main/pixel.c                                             |    2 
 src/mesa/main/shaderapi.c                                         |    6 
 src/mesa/main/shaderobj.c                                         |   11 
 src/mesa/main/texcompress.c                                       |  205 ++++-
 src/mesa/main/texcompress.h                                       |    5 
 src/mesa/main/texenv.c                                            |    9 
 src/mesa/main/texgetimage.c                                       |    2 
 src/mesa/main/teximage.c                                          |  100 ++
 src/mesa/main/texobj.c                                            |    2 
 src/mesa/main/texpal.c                                            |   55 -
 src/mesa/main/texpal.h                                            |    7 
 src/mesa/main/texparam.c                                          |   34 
 src/mesa/main/texstore.c                                          |   21 
 src/mesa/main/uniforms.c                                          |  134 +--
 src/mesa/main/version.h                                           |    4 
 src/mesa/program/ir_to_mesa.cpp                                   |   79 +-
 src/mesa/program/prog_statevars.c                                 |    7 
 src/mesa/state_tracker/st_cb_condrender.c                         |    5 
 src/mesa/state_tracker/st_cb_fbo.c                                |    9 
 src/mesa/state_tracker/st_cb_queryobj.c                           |    5 
 src/mesa/state_tracker/st_texture.c                               |   12 
 src/mesa/swrast/s_stencil.c                                       |    3 
 src/mesa/vbo/vbo_attrib_tmp.h                                     |   13 
 src/mesa/vbo/vbo_exec_array.c                                     |    4 
 src/mesa/x86-64/xform4.S                                          |    2 
 167 files changed, 3266 insertions(+), 1599 deletions(-)

New commits:
commit c0009739bf65883c780408e252c6bdc76f56aecb
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Thu Nov 17 11:45:06 2011 -0800

    docs: Add 7.11.1 release notes

diff --git a/docs/relnotes-7.11.1.html b/docs/relnotes-7.11.1.html
new file mode 100644
index 0000000..73a654a
--- /dev/null
+++ b/docs/relnotes-7.11.1.html
@@ -0,0 +1,387 @@
+<HTML>
+
+<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>
+
+<body bgcolor="#eeeeee">
+
+<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>
+TBD
+</pre>
+
+
+<h2>New features</h2>
+<p>None.</p>
+
+<h2>Bug fixes</h2>
+
+<p>This list is likely incomplete.</p>
+
+<ul>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=3165";>Bug 3165</a> - texImage.IsCompressed and texImage.CompressedSize issues</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=23525";>Bug 23525</a> - Software rendering on QEMU guests badly broken</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28125";>Bug 28125</a> - DRI2 prevents indirect glx</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34628";>Bug 34628</a> - [ilk] skybox errors in quake4</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36371";>Bug 36371</a> - r200: piglit readPixSanity failure</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36669";>Bug 36669</a> - EmitNoMainReturn set to 1 doesn't make the GLSL compiler lower all the RET opcodes</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36939";>Bug 36939</a> - multitexturing is messed up in quake wars (regression)</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37907";>Bug 37907</a> - [swrast] SIGSEGV swrast/s_depth.c:569</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38163";>Bug 38163</a> - Gnome Shell Display Bug</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38625";>Bug 38625</a> - ast_to_hir.cpp:1761: const glsl_type* process_array_type(YYLTYPE*, const glsl_type*, ast_node*, _mesa_glsl_parse_state*): Assertion `dummy_instructions.is_empty()' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38729";>Bug 38729</a> - [softpipe] sp_quad_depth_test.c:215:convert_quad_stencil: Assertion `0' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=38863";>Bug 38863</a> - [IVB]GPU hang when running 3D games like openarena</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39193";>Bug 39193</a> - [llvmpipe and r600g] glCheckFramebufferStatusEXT segfaults in Gallium when checking status on a framebuffer bound to a texture that's bound to a pixmap</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39651";>Bug 39651</a> - [glsl] Assertion failure when implicitly converting out parameters</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=39991";>Bug 39991</a> - [regression]GL_PALETTE8_RGBA8_OES format of glCompressedTexImage2D will cause err GL_INVALID_ENUM with GLES1.x</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40022";>Bug 40022</a> - [i915] out-of-bounds write src/mesa/drivers/dri/i915/i915_fragprog.c:321</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40062";>Bug 40062</a> - in etqw the strogg radar is black (regression)</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40324";>Bug 40324</a> - [SNB] gpu hang in mesa 7.11</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40533";>Bug 40533</a> - i915: piglit glean/readPixSanity: DRI2SwapBuffers: BadDrawable (invalid Pixmap or Window parameter)</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41096";>Bug 41096</a> - [sandybridge-m-gt2+] GPU lockup render.IPEHR: 0x7a000002</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41969";>Bug 41969</a> - The Mesa meta save/restore code doesn't always save the active program</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=42175";>Bug 42175</a> - RV730: Display errors in glxgears &amp; WebGL</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=42268";>Bug 42268</a> - [bisected] oglc pbo(negative.invalidOffsetValue) aborts on 7.11 branch</li>
+
+<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=";>Bug </a> - </li> -->
+
+</ul>
+
+
+<h2>Changes</h2>
+<p>The full set of changes can be viewed by using the following GIT command:</p>
+
+<pre>
+  git log mesa-7.11..mesa-7.11.1
+</pre>
+
+<p>Adam Jackson (2):
+<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>
+
+<p>Alex Deucher (1):
+<ul>
+  <li>r600g: fix up vs export handling</li>
+</ul></p>
+
+<p>Ben Widawsky (1):
+<ul>
+  <li>intel: GetBuffer fix</li>
+</ul></p>
+
+<p>Brian Paul (15):
+<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>
+
+<p>Carl Simonson (1):
+<ul>
+  <li>i830: Add missing vtable entry for i830 from the hiz work.</li>
+</ul></p>
+
+<p>Carl Worth (5):
+<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>
+
+<p>Chad Versace (5):
+<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>
+
+<p>Chia-I Wu (3):
+<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>
+
+<p>Chris Wilson (1):
+<ul>
+  <li>i915: out-of-bounds write in calc_live_regs()</li>
+</ul></p>
+
+<p>Christopher James Halse Rogers (1):
+<ul>
+  <li>glx/dri2: Paper over errors in DRI2Connect when indirect</li>
+</ul></p>
+
+<p>David Reveman (1):
+<ul>
+  <li>i915g: Fix off-by-one in scissors.</li>
+</ul></p>
+
+<p>Eric Anholt (16):
+<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>
+
+<p>Henri Verbeet (6):
+<ul>
+  <li>mesa: Also set the remaining draw buffers to GL_NONE when updating just the first buffer in _mesa_drawbuffers().</li>
+  <li>r600g: Support the PIPE_FORMAT_R16_FLOAT colorformat.</li>
+  <li>mesa: Check the texture against all units in unbind_texobj_from_texunits().</li>
+  <li>mesa: Allow sampling from units &gt;= MAX_TEXTURE_UNITS in shaders.</li>
+  <li>mesa: Use the Elements macro for the sampler index assert in validate_samplers().</li>
+  <li>mesa: Fix a couple of TexEnv unit limits.</li>
+</ul></p>
+
+<p>Ian Romanick (17):
+<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>
+
+<p>Jeremy Huddleston (3):
+<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>
+
+<p>José Fonseca (1):
+<ul>
+  <li>docs: Update llvmpipe docs.</li>
+</ul></p>
+
+<p>Kenneth Graunke (12):
+<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>
+
+<p>Kristian Høgsberg (1):
+<ul>
+  <li>glx: Don't flush twice if we fallback to dri2CopySubBuffer</li>
+</ul></p>
+
+<p>Marc Pignat (1):
+<ul>
+  <li>drisw: Fix 24bpp software rendering, take 2</li>
+</ul></p>
+
+<p>Marcin Baczyński (2):
+<ul>
+  <li>configure: fix gcc version check</li>
+  <li>configure: allow C{,XX}FLAGS override</li>
+</ul></p>
+
+<p>Marcin Slusarz (3):
+<ul>
+  <li>nouveau: fix nouveau_fence leak</li>
+  <li>nouveau: fix crash during fence emission</li>
+  <li>nouveau: fix fence hang</li>
+</ul></p>
+
+<p>Marek Olšák (19):
+<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>
+
+<p>Michel Dänzer (4):
+<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>
+
+<p>Neil Roberts (1):
+<ul>
+  <li>meta: Fix saving the active program</li>
+</ul></p>
+
+<p>Paul Berry (18):
+<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>
+
+<p>Tobias Droste (1):
+<ul>
+  <li>r300/compiler: simplify code in peephole_add_presub_add</li>
+</ul></p>
+
+<p>Tom Fogal (1):
+<ul>
+  <li>Only use gcc visibility support with gcc4+.</li>
+</ul></p>
+
+<p>Tom Stellard (1):
+<ul>
+  <li>r300/compiler: Fix regalloc for values with multiple writers</li>
+</ul></p>
+
+<p>Vadim Girlin (5):
+<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>
+
+<p>Yuanhan Liu (17):
+<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></p>
+
+</body>
+</html>

commit bb7d99395344654e169448969c8eacf21bb2e91c
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Thu Nov 17 11:44:08 2011 -0800

    mesa: set version string to 7.11.1

diff --git a/Makefile b/Makefile
index d1775f5..b3bf837 100644
--- a/Makefile
+++ b/Makefile
@@ -183,7 +183,7 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-VERSION=7.11
+VERSION=7.11.1
 DIRECTORY = Mesa-$(VERSION)
 LIB_NAME = MesaLib-$(VERSION)
 GLUT_NAME = MesaGLUT-$(VERSION)
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index 6e99b94..83338b2 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -34,8 +34,8 @@ struct gl_context;
 /* Mesa version */
 #define MESA_MAJOR 7
 #define MESA_MINOR 11
-#define MESA_PATCH 0
-#define MESA_VERSION_STRING "7.11"
+#define MESA_PATCH 1
+#define MESA_VERSION_STRING "7.11.1"
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

commit 172de77b123ccb73716d279ecd529bbd35151b2c
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Oct 18 17:17:28 2011 -0700

    glsl: Fix gl_NormalMatrix swizzle setup to match i965's invariants.
    
    A driver trying to set up builtin uniforms is faced with a problem:
    How do I walk the ir_variable structure (representing an array of
    structs, or array of matrices, or struct, or whatever), and set up
    driver structures so that dereference of that uniform gets the
    corresponding ParameterValues[] entry.  The rule in general is that
    each corresponding vector-sized field of an array of structs is one
    builtin uniform state slot.  i965 relied on another invariant: each
    state slot has a number of unique channel swizzles corresponding to
    the number of elements in the field's vector, to avoid needing to walk
    the glsl_type in parallel to get at vector_elements.
    
    All of the builtin uniforms followed this behavior, except for
    gl_NormalMatrix.  That's a mat3 (so 3 vec3s), but it was swizzled as 3
    vec4s.
    
    Fixes piglit glsl-fs-normalmatrix.
    Reviewed-by: Paul Berry <stereotype441@gmail.com>
    (cherry picked from commit cc4ddc3a1e4bbe5fccd03b39b3590368be8c172f)

diff --git a/src/glsl/ir_variable.cpp b/src/glsl/ir_variable.cpp
index b848769..6a8ea59 100644
--- a/src/glsl/ir_variable.cpp
+++ b/src/glsl/ir_variable.cpp
@@ -224,11 +224,11 @@ MATRIX(gl_TextureMatrixInverseTranspose,
 
 static struct gl_builtin_uniform_element gl_NormalMatrix_elements[] = {
    { NULL, { STATE_MODELVIEW_MATRIX, 0, 0, 0, STATE_MATRIX_INVERSE},
-     SWIZZLE_XYZW },
+     MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_Z, SWIZZLE_Z) },
    { NULL, { STATE_MODELVIEW_MATRIX, 0, 1, 1, STATE_MATRIX_INVERSE},
-     SWIZZLE_XYZW },
+     MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_Z, SWIZZLE_Z) },
    { NULL, { STATE_MODELVIEW_MATRIX, 0, 2, 2, STATE_MATRIX_INVERSE},
-     SWIZZLE_XYZW },
+     MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_Z, SWIZZLE_Z) },
 };
 
 #undef MATRIX

commit 6b151886fdbb74a5b92c9ff9e36fc0365c8ef8c5
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Mon Oct 3 14:28:43 2011 -0700

    mesa/get: Move MAX_LIGHTS from GL/ES2 to GL/ES1.
    
    It's required for ES 1.0 and 1.1, and isn't specified for ES 2.
    
    While the comment says Mesa depends on it internally, removing it from
    ES2 doesn't seem to regress any Piglit or ES2 conformance tests.
    
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    (cherry picked from commit 5785cd2bf50f38290540bbf805a41294d213db3a)

diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 13f416a..1cfaf26 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -509,6 +509,7 @@ static const struct value_desc values[] = {
 #if FEATURE_GL || FEATURE_ES1
    /* Enums in OpenGL and GLES1 */
    { 0, 0, TYPE_API_MASK, API_OPENGL_BIT | API_OPENGLES_BIT, NO_EXTRA },
+   { GL_MAX_LIGHTS, CONTEXT_INT(Const.MaxLights), NO_EXTRA },
    { GL_LIGHT0, CONTEXT_BOOL(Light.Light[0].Enabled), NO_EXTRA },
    { GL_LIGHT1, CONTEXT_BOOL(Light.Light[1].Enabled), NO_EXTRA },
    { GL_LIGHT2, CONTEXT_BOOL(Light.Light[2].Enabled), NO_EXTRA },
@@ -677,8 +678,6 @@ static const struct value_desc values[] = {
 
 #if FEATURE_GL || FEATURE_ES2
    { 0, 0, TYPE_API_MASK, API_OPENGL_BIT | API_OPENGLES2_BIT, NO_EXTRA },
-   /* This entry isn't spec'ed for GLES 2, but is needed for Mesa's GLSL: */
-   { GL_MAX_LIGHTS, CONTEXT_INT(Const.MaxLights), NO_EXTRA },
    { GL_MAX_TEXTURE_COORDS_ARB, /* == GL_MAX_TEXTURE_COORDS_NV */
      CONTEXT_INT(Const.MaxTextureCoordUnits),
      extra_ARB_fragment_program_NV_fragment_program },

commit 436db5df9c193b4849afd37ce7e1697274ca25d8
Author: José Fonseca <jose.r.fonseca@gmail.com>
Date:   Sat Nov 5 10:38:16 2011 +0000

    docs: Update llvmpipe docs.
    
    Recommend LLVM 2.9, it has been working quite well, and unlike earlier
    versions, it works out-of-the-box without patches.
    
    Update Windows instructions.

diff --git a/docs/llvmpipe.html b/docs/llvmpipe.html
index 28d7411..980bfce 100644
--- a/docs/llvmpipe.html
+++ b/docs/llvmpipe.html
@@ -22,21 +22,20 @@ It's the fastest software rasterizer for Mesa.
 
 <h1>Requirements</h1>
 
-<dl>
-<dt>An x86 or amd64 processor.  64-bit mode is preferred.</dt>
-<dd>
+<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
+   Support for SSE2 is strongly encouraged.  Support for SSSE3, and SSE4.1 will
    yield the most efficient code.  The less features the CPU has the more
    likely is that you ran into underperforming, buggy, or incomplete code.  
    </p>
    <p>
    See /proc/cpuinfo to know what your CPU supports.
    </p>
-</dd>
-<dt>LLVM. Version 2.8 recommended. 2.6 or later required.</dt>
-<dd>
-   <p>
+</li>
+<li>
+	 <p>LLVM: version 2.9 recommended; 2.6 or later required.</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.
@@ -54,26 +53,25 @@ It's the fastest software rasterizer for Mesa.
 </pre>
 
    <p>
-   For Windows download pre-built MSVC 9.0 or MinGW binaries from
-   http://people.freedesktop.org/~jrfonseca/llvm/ and set the LLVM environment
-   variable to the extracted path.
-   </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.
 
-   <p>
-   For MSVC there are two set of binaries: llvm-x.x-msvc32mt.7z and
-   llvm-x.x-msvc32mtd.7z .
-   </p>
+   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.
 
-   <p>
-   You have to set the LLVM=/path/to/llvm-x.x-msvc32mtd env var when passing
-   debug=yes to scons, and LLVM=/path/to/llvm-x.x-msvc32mt when building with
-   debug=no. This is necessary as LLVM builds as static library so the chosen
-   MS CRT must match.
+   You can build only the x86 target by passing -DLLVM_TARGETS_TO_BUILD=X86
+   to cmake.
    </p>
-</dd>
+</li>
+
+<li>
+   <p>scons (optional)</p>
+</li>
+</ul>
 
-<dt>scons (optional)</dt>
-</dl>
 
 
 
@@ -93,7 +91,7 @@ Alternatively, you can build it with GNU make, if you prefer, by invoking it as
 
 but the rest of these instructions assume that scons is used.
 
-For windows is everything the except except the winsys:
+For Windows the procedure is similar except the target:
 
 <pre>
   scons build=debug libgl-gdi

commit 5459781715f47dcd3f93d84e69ab82245f684660
Author: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Date:   Wed Nov 2 14:13:45 2011 +0800

    intel: don't call unmap pbo if pbo is not mapped
    
    The PBO only needs to be unmapped if one of the previous calls to
    _mesa_validate_pbo_* succeeded.  In this case, pixels will be
    non-NULL.  Various paths through _mesa_unmap_texmiage_pbo can hit
    assertion failures or segfaults if the buffer is not mapped.
    
    To work around this, move the call to _mesa_unmap_teximage_pbo inside
    the last 'if (pixels)' block.
    
    NOTE: this is just for 7.11 stable branch
    
    Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42268

diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c
index 269faef..409c6f3 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_image.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_image.c
@@ -595,9 +595,9 @@ intelTexImage(struct gl_context * ctx,
                                 format, type, pixels, unpack)) {
           _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage");
        }
-   }
 
-   _mesa_unmap_teximage_pbo(ctx, unpack);
+       _mesa_unmap_teximage_pbo(ctx, unpack);
+   }
 
    if (intel->must_use_separate_stencil
        && texImage->TexFormat == MESA_FORMAT_S8_Z24) {

commit b95767a57ad499a2ed7431e8b0b52966c6dc0a45
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Nov 2 16:39:17 2011 +0100

    r300g: Fix queries on big endian hosts.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>

diff --git a/src/gallium/drivers/r300/r300_query.c b/src/gallium/drivers/r300/r300_query.c
index 782f041..6782a09 100644
--- a/src/gallium/drivers/r300/r300_query.c
+++ b/src/gallium/drivers/r300/r300_query.c
@@ -138,7 +138,8 @@ static boolean r300_get_query_result(struct pipe_context* pipe,
     /* Sum up the results. */
     temp = 0;
     for (i = 0; i < q->num_results; i++) {
-        temp += *map;
+        /* Convert little endian values written by GPU to CPU byte order */
+        temp += util_le32_to_cpu(*map);
         map++;
     }
 

commit f60e81ecb2a01944b8ac8ece891c2e22a9797c76
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Nov 2 18:21:48 2011 +0100

    gallium/util: Add macros for converting from little endian to CPU byte order.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
    (cherry picked from commit 4a3be16fd2d126a84ff2f087f2a2900afa19d235)

diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h
index 0b52844..50a5b2c 100644
--- a/src/gallium/auxiliary/util/u_math.h
+++ b/src/gallium/auxiliary/util/u_math.h
@@ -548,6 +548,19 @@ util_bitcount(unsigned n)
 
 
 /**
+ * Convert from little endian to CPU byte order.
+ */
+
+#ifdef PIPE_ARCH_BIG_ENDIAN
+#define util_le32_to_cpu(x) util_bswap32(x)
+#define util_le16_to_cpu(x) util_bswap16(x)
+#else
+#define util_le32_to_cpu(x) (x)
+#define util_le16_to_cpu(x) (x)
+#endif
+
+
+/**
  * Reverse byte order of a 32 bit word.
  */
 static INLINE uint32_t

commit d15ce8dd297001c2764c41be61a12a81d9cf441f
Author: Marek Olšák <maraeo@gmail.com>
Date:   Sun Oct 23 20:29:06 2011 +0200

    r300g: don't call u_trim_pipe_prim in r300_swtcl_draw_vbo
    
    This was dead code anyway.
    (cherry picked from commit 21e3c585f7c59fa909f6bb485a99bad33119a186)

diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
index 535bdaf..0d12d6d 100644
--- a/src/gallium/drivers/r300/r300_render.c
+++ b/src/gallium/drivers/r300/r300_render.c
@@ -825,7 +825,6 @@ static void r300_swtcl_draw_vbo(struct pipe_context* pipe,
     struct r300_context* r300 = r300_context(pipe);
     struct pipe_transfer *vb_transfer[PIPE_MAX_ATTRIBS];
     struct pipe_transfer *ib_transfer = NULL;
-    unsigned count = info->count;
     int i;
     void *indices = NULL;
     boolean indexed = info->indexed && r300->index_buffer.buffer;
@@ -834,10 +833,6 @@ static void r300_swtcl_draw_vbo(struct pipe_context* pipe,
         return;
     }
 
-    if (!u_trim_pipe_prim(info->mode, &count)) {
-        return;
-    }
-
     r300_update_derived_state(r300);
 
     r300_reserve_cs_dwords(r300,

commit 449b301eecb884b38a5388518919b684e03433ed
Author: Tom Fogal <tfogal@alumni.unh.edu>
Date:   Wed Oct 19 14:41:35 2011 -0600

    Only use gcc visibility support with gcc4+.
    
    I had a colleague hitting issues compiling with an old gcc3.2
    system.  These patches got them through.
    
    Reviewed-by: Brian Paul <brianp@vmware.com>
    (cherry-picked from commit cbb2b4149ba26ee26f73f53e9b2aa960d9e5862c)

diff --git a/include/GL/gl.h b/include/GL/gl.h
index bca550f..7fa1b15 100644
--- a/include/GL/gl.h
+++ b/include/GL/gl.h
@@ -67,7 +67,7 @@
 #elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows opengl32 */
 #  define GLAPI extern
 #  define GLAPIENTRY __stdcall
-#elif defined(__GNUC__)	|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+#elif (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
 #  define GLAPI __attribute__((visibility("default")))
 #  define GLAPIENTRY
 #endif /* WIN32 && !CYGWIN */
diff --git a/src/mesa/main/compiler.h b/src/mesa/main/compiler.h
index 743841b..071f691 100644
--- a/src/mesa/main/compiler.h
+++ b/src/mesa/main/compiler.h
@@ -172,7 +172,7 @@ extern "C" {
  * inline a static function that we later use in an alias. - ajax
  */
 #ifndef PUBLIC
-#  if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+#  if (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
 #    define PUBLIC __attribute__((visibility("default")))
 #    define USED __attribute__((used))
 #  else

commit 4464ee1a9aa3745109cee23531e3fb2323234d07
Author: Adam Jackson <ajax@redhat.com>
Date:   Fri Oct 28 20:38:32 2011 -0400

    glx: Don't enable INTEL_swap_event unconditionally
    
    DRI2 supports this now - and already enables it explicitly - but drisw
    does not and should not.  Otherwise toolkits like clutter will only ever
    SwapBuffers once and wait forever for an event that's not coming.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    (cherry picked from commit 25620eb1d277c6b80edb136eaeca12532fcfd3ce)

diff --git a/src/glx/glxextensions.c b/src/glx/glxextensions.c
index d6eb408..0d2888c 100644
--- a/src/glx/glxextensions.c
+++ b/src/glx/glxextensions.c
@@ -139,7 +139,7 @@ static const struct extension_info known_glx_extensions[] = {
    { GLX(SGIX_visual_select_group),    VER(0,0), Y, Y, N, N },
    { GLX(EXT_texture_from_pixmap),     VER(0,0), Y, N, N, N },
 #endif
-   { GLX(INTEL_swap_event),            VER(1,4), Y, Y, N, N },
+   { GLX(INTEL_swap_event),            VER(1,4), Y, N, N, N },
    { NULL }
 };
 

commit 439628318bfd4596d0d8129a0792d2c3ea849bb7
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Fri Oct 21 01:03:37 2011 -0700

    i965: Apply post-sync non-zero workaround to homebrew workaround.
    
    In commit 3e5d3626, Eric added a homebrew workaround to fix GPU hangs in
    the Mesa "engine" demo and oglc's api-texcoord test.
    
    Unfortunately, his PIPE_CONTROL contains a Depth Stall, which
    necessitates the post-sync non-zero workaround,
    
    Fixes GPU hangs in Civilization 4, PlaneShift, Minecraft, Neverwinter
    Nights, 3DMMES, and hopefully Heroes of Newerth as well.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40324
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41096
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Tested-by: Joel <k00_fol@k.kth.se> (Neverwinter Nights)


Reply to: