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

mesa: Changes to 'upstream-experimental'



 .gitignore                                               |    1 
 Makefile.am                                              |   51 --
 bin/.cherry-ignore                                       |    7 
 configs/current.in                                       |    5 
 configs/default                                          |    2 
 configure.ac                                             |   27 +
 docs/GL3.txt                                             |    3 
 docs/news.html                                           |    8 
 docs/relnotes-9.0.1.html                                 |    6 
 docs/relnotes-9.0.2.html                                 |  280 +++++++++++++++
 docs/relnotes.html                                       |    1 
 include/pci_ids/radeonsi_pci_ids.h                       |    4 
 src/egl/drivers/dri2/egl_dri2.c                          |   64 +++
 src/egl/drivers/dri2/egl_dri2.h                          |    1 
 src/egl/drivers/dri2/platform_wayland.c                  |   31 +
 src/egl/wayland/wayland-egl/wayland-egl-priv.h           |    3 
 src/egl/wayland/wayland-egl/wayland-egl.c                |    5 
 src/gallium/auxiliary/Makefile                           |    5 
 src/gallium/auxiliary/draw/draw_vertex.h                 |    5 
 src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c         |    2 
 src/gallium/auxiliary/tgsi/tgsi_ureg.c                   |    2 
 src/gallium/auxiliary/util/u_double_list.h               |    1 
 src/gallium/auxiliary/util/u_inlines.h                   |   16 
 src/gallium/drivers/Makefile.am                          |    2 
 src/gallium/drivers/llvmpipe/lp_bld_depth.c              |   10 
 src/gallium/drivers/nv30/nv30_screen.c                   |    2 
 src/gallium/drivers/nv50/codegen/nv50_ir.cpp             |    2 
 src/gallium/drivers/nv50/codegen/nv50_ir_emit_nv50.cpp   |    3 
 src/gallium/drivers/nv50/codegen/nv50_ir_from_tgsi.cpp   |    2 
 src/gallium/drivers/nv50/codegen/nv50_ir_target_nv50.cpp |    6 
 src/gallium/drivers/nv50/nv50_screen.c                   |   14 
 src/gallium/drivers/nvc0/nvc0_context.c                  |    1 
 src/gallium/drivers/nvc0/nvc0_screen.c                   |   23 -
 src/gallium/drivers/nvc0/nvc0_vbo_translate.c            |    3 
 src/gallium/drivers/r300/Makefile.am                     |    1 
 src/gallium/drivers/r300/r300_state.c                    |   12 
 src/gallium/drivers/r300/r300_state_derived.c            |   22 -
 src/gallium/drivers/r600/eg_asm.c                        |    1 
 src/gallium/drivers/r600/r600_asm.c                      |    8 
 src/gallium/drivers/r600/r600_blit.c                     |    9 
 src/gallium/drivers/r600/r600_hw_context.c               |   17 
 src/gallium/drivers/r600/r600_pipe.c                     |   14 
 src/gallium/drivers/r600/r600_resource.h                 |    1 
 src/gallium/drivers/r600/r600_shader.c                   |   32 +
 src/gallium/drivers/r600/r600_texture.c                  |    4 
 src/gallium/drivers/svga/svga_pipe_misc.c                |    6 
 src/gallium/include/pipe/p_state.h                       |    4 
 src/gallium/state_trackers/clover/Makefile.am            |   13 
 src/gallium/state_trackers/clover/llvm/invocation.cpp    |    4 
 src/gallium/state_trackers/egl/wayland/native_wayland.c  |    5 
 src/gallium/targets/dri-i915/Makefile                    |    2 
 src/gallium/targets/dri-r300/Makefile                    |    2 
 src/gallium/targets/dri-r600/Makefile                    |    2 
 src/gallium/targets/dri-radeonsi/Makefile                |    2 
 src/gallium/targets/egl-static/Makefile                  |   16 
 src/gallium/targets/gbm/Makefile                         |    2 
 src/gallium/targets/pipe-loader/Makefile                 |   12 
 src/gallium/targets/vdpau-r300/Makefile                  |    2 
 src/gallium/targets/vdpau-r600/Makefile                  |    2 
 src/gallium/targets/vdpau-radeonsi/Makefile              |    2 
 src/gallium/targets/xvmc-r300/Makefile                   |    2 
 src/gallium/targets/xvmc-r600/Makefile                   |    2 
 src/glsl/glcpp/Makefile.am                               |    1 
 src/glsl/glcpp/glcpp-lex.l                               |   20 -
 src/glsl/glcpp/glcpp-parse.y                             |   20 -
 src/glsl/glcpp/tests/102-garbage-after-endif.c           |    2 
 src/glsl/glcpp/tests/102-garbage-after-endif.c.expected  |    2 
 src/glsl/glcpp/tests/103-garbage-after-else.c            |    3 
 src/glsl/glcpp/tests/103-garbage-after-else.c.expected   |    4 
 src/glsl/glsl_parser.yy                                  |    1 
 src/glsl/ir_function_detect_recursion.cpp                |    1 
 src/glsl/ir_validate.cpp                                 |    4 
 src/glsl/opt_constant_propagation.cpp                    |    1 
 src/glsl/tests/Makefile.am                               |    9 
 src/glx/tests/Makefile.am                                |   10 
 src/mapi/es1api/Makefile.am                              |    6 
 src/mapi/es2api/Makefile.am                              |    6 
 src/mapi/shared-glapi/tests/Makefile.am                  |    6 
 src/mesa/Android.gen.mk                                  |    2 
 src/mesa/drivers/common/meta.c                           |   65 ---
 src/mesa/drivers/dri/i915/i915_texstate.c                |    2 
 src/mesa/drivers/dri/i965/brw_context.c                  |   58 +--
 src/mesa/drivers/dri/i965/brw_gs.c                       |    2 
 src/mesa/drivers/dri/i965/brw_vec4.cpp                   |    1 
 src/mesa/drivers/dri/i965/brw_vec4.h                     |    3 
 src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp  |    1 
 src/mesa/drivers/dri/i965/brw_vec4_emit.cpp              |   14 
 src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp      |  128 ++++++
 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp           |    8 
 src/mesa/drivers/dri/i965/brw_vs.c                       |    2 
 src/mesa/drivers/dri/i965/brw_vs.h                       |    2 
 src/mesa/drivers/dri/i965/gen7_sf_state.c                |    4 
 src/mesa/drivers/dri/nouveau/nouveau_texture.c           |    2 
 src/mesa/drivers/dri/r200/r200_state.c                   |   13 
 src/mesa/drivers/dri/r200/r200_state_init.c              |   20 -
 src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c         |    6 
 src/mesa/drivers/dri/radeon/radeon_state.c               |   13 
 src/mesa/main/attrib.c                                   |    7 
 src/mesa/main/bufferobj.c                                |   22 -
 src/mesa/main/config.h                                   |    2 
 src/mesa/main/context.c                                  |    2 
 src/mesa/main/fbobject.c                                 |   51 ++
 src/mesa/main/imports.h                                  |    2 
 src/mesa/main/macros.h                                   |   39 ++
 src/mesa/main/mtypes.h                                   |    3 
 src/mesa/main/queryobj.c                                 |   16 
 src/mesa/main/readpix.c                                  |   22 -
 src/mesa/main/shaderapi.c                                |    1 
 src/mesa/main/teximage.c                                 |   41 ++
 src/mesa/main/teximage.h                                 |    8 
 src/mesa/main/texobj.c                                   |    3 
 src/mesa/main/texstate.c                                 |    7 
 src/mesa/main/texstorage.c                               |    4 
 src/mesa/main/varray.c                                   |   16 
 src/mesa/main/version.h                                  |    4 
 src/mesa/program/prog_print.c                            |   36 +
 src/mesa/state_tracker/st_atom_sampler.c                 |   12 
 src/mesa/state_tracker/st_cb_clear.c                     |   19 -
 src/mesa/state_tracker/st_cb_texture.c                   |   99 ++---
 src/mesa/state_tracker/st_format.c                       |  124 ++++--
 src/mesa/state_tracker/st_format.h                       |    5 
 src/mesa/state_tracker/st_gen_mipmap.c                   |   28 -
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp               |   23 +
 src/mesa/state_tracker/st_mesa_to_tgsi.c                 |   12 
 src/mesa/vbo/vbo_attrib_tmp.h                            |   86 ++--
 src/mesa/vbo/vbo_context.h                               |   43 ++
 src/mesa/vbo/vbo_exec.h                                  |    1 
 src/mesa/vbo/vbo_exec_api.c                              |   29 +
 src/mesa/vbo/vbo_exec_draw.c                             |    7 
 src/mesa/vbo/vbo_save.h                                  |    2 
 src/mesa/vbo/vbo_save_api.c                              |   12 
 src/mesa/vbo/vbo_save_draw.c                             |   21 -
 132 files changed, 1494 insertions(+), 556 deletions(-)

New commits:
commit 1c1b4244081f2ad2c84a80a6f68a6b7fd1aefbe9
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Sun Jan 20 15:40:11 2013 +0100

    docs: Add 9.0.2 release notes

diff --git a/docs/relnotes-9.0.2.html b/docs/relnotes-9.0.2.html
new file mode 100644
index 0000000..2db5f3e
--- /dev/null
+++ b/docs/relnotes-9.0.2.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>Mesa Release Notes</title>
+  <link rel="stylesheet" type="text/css" href="mesa.css">
+</head>
+<body>
+
+<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>
+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=22576";>Bug 22576</a> - [KMS] mesa demo spectex broken on rv280</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26809";>Bug 26809</a> - KMS/R200: Bad shading in NWN since Mesa rewrite</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45877";>Bug 45877</a> - [bisected regression] Oglc fbo(negative.invalidParams3) Segmentation fault</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54402";>Bug 54402</a> - st_glsl_to_tgsi.cpp:4006:dst_register: Assertion `index &lt; VERT_RESULT_MAX' failed</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=55175";>Bug 55175</a> - Memoryleak with glPopAttrib only on Intel GM45</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56442";>Bug 56442</a> - glcpp accepts junk after #else/#elif/#endif tokens</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56706";>Bug 56706</a> - EGL sets error to EGL_SUCCESS when DRI driver fails to create context</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57622";>Bug 57622</a> - Webgl conformance shader-with-non-reserved-words crash.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57842";>Bug 57842</a> - r200: Culling is broken when rendering to an FBO</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57984";>Bug 57984</a> - r300g: blend sfactor=GL_DST_COLOR fails with FBOs</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58545";>Bug 58545</a> - [llvmpipe] src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:75:analyse_src: Assertion `src-&gt;Index &lt; (sizeof(ctx-&gt;imm)/sizeof((ctx-&gt;imm)[0]))' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59383";>Bug 59383</a> - src/glsl/tests/Makefile.am missing $(top_srcdir)/include</li>
+
+<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=";>Bug </a> - </li> -->
+</ul>
+
+
+<h2>Changes</h2>
+<p>The full set of changes can be viewed by using the following GIT command:</p>
+
+<pre>
+  git log mesa-9.0.1..mesa-9.0.2
+</pre>
+
+<p>Abdiel Janulgue (1):</p>
+<ul>
+  <li>mesa: Fix a crash in update_texture_state() for external texture type</li>
+</ul>
+
+<p>Adam Jackson (4):</p>
+<ul>
+  <li>glcpp: Fix visibility CFLAGS in automake</li>
+  <li>glcpp: Typo fix.</li>
+  <li>galahad, noop: Fix visibility CFLAGS in automake</li>
+  <li>r300g: Fix visibility CFLAGS in automake</li>
+</ul>
+
+<p>Alex Deucher (2):</p>
+<ul>
+  <li>radeonsi: add some new SI pci ids</li>
+  <li>radeonsi: add a new SI pci id</li>
+</ul>
+
+<p>Ander Conselvan de Oliveira (2):</p>
+<ul>
+  <li>egl/wayland: Don't invalidate drawable on swap buffers</li>
+  <li>egl/wayland: Dispatch the event queue before get_buffers</li>
+  <li>egl/wayland: Destroy the pending buffer callback with the egl surface</li>
+</ul>
+
+<p>Andreas Boll (9):</p>
+<ul>
+  <li>docs: fix release date of 9.0.1</li>
+  <li>docs: add news item for 9.0.1 release</li>
+  <li>Add .dirstamp to toplevel .gitignore</li>
+  <li>build: use git ls-files for adding all Makefile.in into the release tarball</li>
+  <li>build: Fix GLES linkage without libglapi</li>
+  <li>Revert "r600g: try to fix streamout for the cases where BURST_COUNT &gt; 0"</li>
+  <li>mesa: update .cherry-ignore list</li>
+  <li>mesa: Bump version to 9.0.2</li>
+  <li>docs: Add 9.0.2 release notes</li>
+</ul>
+
+<p>Anuj Phogat (2):</p>
+<ul>
+  <li>mesa: Generate invalid operation in glGenerateMipMap for integer textures</li>
+  <li>meta: Remove redundant code in _mesa_meta_GenerateMipmap</li>
+</ul>
+
+<p>Ben Skeggs (3):</p>
+<ul>
+  <li>nvc0: fix missing permanent bo reference on poly cache</li>
+  <li>nvc0: point vertex runout at a valid address</li>
+  <li>nv50: point vertex runout at a valid address</li>
+</ul>
+
+<p>Brian Paul (5):</p>
+<ul>
+  <li>svga: don't use uninitialized framebuffer state</li>
+  <li>st/mesa: replace REALLOC() with realloc()</li>
+  <li>st/mesa: free TGSI tokens with ureg_free_tokens()</li>
+  <li>util: added pipe_surface_release() function</li>
+  <li>gallivm: support more immediates in lp_build_tgsi_info()</li>
+</ul>
+
+<p>Bryan Cain (1):</p>
+<ul>
+  <li>glsl_to_tgsi: set correct register type for array and structure elements</li>
+</ul>
+
+<p>Chad Versace (2):</p>
+<ul>
+  <li>i965: Validate requested GLES context version in brwCreateContext</li>
+  <li>egl/dri2: Set error code when dri2CreateContextAttribs fails</li>
+</ul>
+
+<p>Chris Fester (1):</p>
+<ul>
+  <li>util: null-out the node's prev/next pointers in list_del()</li>
+</ul>
+
+<p>Christoph Bumiller (5):</p>
+<ul>
+  <li>nv50/ir/tgsi: fix srcMask for TXP with SHADOW1D</li>
+  <li>nvc0: add missing call to map edge flag in push_vbo</li>
+  <li>nv50/ir: wrap assertion using typeid in #ifndef NDEBUG</li>
+  <li>nouveau: fix undefined behaviour when testing sample_count</li>
+  <li>nv50/ir: restore use of long immediate encodings</li>
+</ul>
+
+<p>Dave Airlie (5):</p>
+<ul>
+  <li>r600g: fix lod bias/explicit lod with cube maps.</li>
+  <li>glsl_to_tgsi: fix dst register for texturing fetches.</li>
+  <li>glsl: fix cut-n-paste error in error handling. (v2)</li>
+  <li>glsl: initialise killed_all field.</li>
+  <li>glsl: fix uninitialised variable from constructor</li>
+</ul>
+
+<p>Eric Anholt (4):</p>
+<ul>
+  <li>mesa: Fix the core GL genned-name handling for glBindBufferBase()/Range().</li>
+  <li>mesa: Fix core GL genned-name handling for glBeginQuery().</li>
+  <li>mesa: Fix segfault on reading from a missing color read buffer.</li>
+  <li>i965/gen4: Fix memory leak each time compile_gs_prog() is called.</li>
+</ul>
+
+<p>Ian Romanick (2):</p>
+<ul>
+  <li>docs: Add 9.0.1 release md5sums</li>
+  <li>glsl: Don't add structure fields to the symbol table</li>
+</ul>
+
+<p>Johannes Obermayr (4):</p>
+<ul>
+  <li>clover: Install CL headers.</li>
+  <li>gallium/auxiliary: Add -fno-rtti to CXXFLAGS on LLVM &gt;= 3.2.</li>
+  <li>clover: Adapt libclc's INCLUDEDIR and LIBEXECDIR to make use of the new introduced libclc.pc.</li>
+  <li>tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).</li>
+</ul>
+
+<p>Jonas Ådahl (1):</p>
+<ul>
+  <li>wayland: Don't cancel a roundtrip when any event is received</li>
+</ul>
+
+<p>José Fonseca (1):</p>
+<ul>
+  <li>llvmpipe: Obey back writemask.</li>
+</ul>
+
+<p>Kenneth Graunke (8):</p>
+<ul>
+  <li>i965/vs: Fix unit mismatch in scratch base_offset parameter.</li>
+  <li>i965/vs: Implement register spilling.</li>
+  <li>mesa: Don't flatten IF statements by default.</li>
+  <li>glcpp: Don't use infinite lookhead for #define differentiation.</li>
+  <li>i965/vs: Don't lose the MRF writemask when doing compute-to-MRF.</li>
+  <li>i965/vs: Preserve the type when copy propagating into an instruction.</li>
+  <li>mesa: Fix glGetVertexAttribI[u]iv now that we have real integer attribs.</li>
+  <li>i965: Fix AA Line Distance Mode in 3DSTATE_SF on Ivybridge.</li>
+</ul>
+
+<p>Kristian Høgsberg (1):</p>
+<ul>
+  <li>egl/wayland: Add invalidate back in eglSwapBuffers()</li>
+</ul>
+
+<p>Maarten Lankhorst (2):</p>
+<ul>
+  <li>makefiles: use configured name for -ldrm* where possible</li>
+  <li>automake: strip LLVM_CXXFLAGS and LLVM_CPPFLAGS too</li>
+</ul>
+
+<p>Marek Olšák (17):</p>
+<ul>
+  <li>st/mesa: fix integer texture border color for some formats (v2)</li>
+  <li>r300g: fix texture border color for sRGB formats</li>
+  <li>mesa: bump MAX_VARYING to 32</li>
+  <li>draw: fix assertion failure in draw_emit_vertex_attr</li>
+  <li>vbo: fix glVertexAttribI* functions</li>
+  <li>mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2</li>
+  <li>mesa: fix error checking of TexStorage(levels) for array and rect textures</li>
+  <li>st/mesa: fix guessing the base level size</li>
+  <li>st/mesa: fix computation of last_level during texture creation</li>
+  <li>st/mesa: fix computation of last_level in GenerateMipmap</li>
+  <li>r600g: fix streamout on RS780 and RS880</li>
+  <li>r600g: advertise 32 streamout vec4 outputs</li>
+  <li>r600g: fix broken streamout if streamout_begin caused a context flush</li>
+  <li>mesa: fix BlitFramebuffer between linear and sRGB formats</li>
+  <li>r600g: try to fix streamout for the cases where BURST_COUNT &gt; 0</li>
+  <li>r600g: always use a tiled resource as the destination of MSAA resolve</li>
+  <li>mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2</li>
+</ul>
+
+<p>Mario Kleiner (1):</p>
+<ul>
+  <li>mesa: Don't glPopAttrib() GL_POINT_SPRITE_COORD_ORIGIN on &lt; OpenGL-2.0</li>
+</ul>
+
+<p>Matt Turner (1):</p>
+<ul>
+  <li>glcpp: Reject garbage after #else and #endif tokens</li>
+</ul>
+
+<p>Stefan Dösinger (1):</p>
+<ul>
+  <li>r300: Don't disable destination read if the src blend factor needs it</li>
+</ul>
+
+<p>Tapani Pälli (1):</p>
+<ul>
+  <li>android: generate matching remap_helper to dispatch table</li>
+</ul>
+
+<p>Tom Stellard (1):</p>
+<ul>
+  <li>r600g: Use LOOP_START_DX10 for loops</li>
+</ul>
+
+<p>Vinson Lee (1):</p>
+<ul>
+  <li>i915: Fix wrong sizeof argument in i915_update_tex_unit.</li>
+</ul>
+
+<p>smoki (2):</p>
+<ul>
+  <li>r200: fix broken tcl lighting</li>
+  <li>radeon/r200: Fix tcl culling</li>
+</ul>
+
+</body>
+</html>
diff --git a/docs/relnotes.html b/docs/relnotes.html
index d9b9cf1..2d9b333 100644
--- a/docs/relnotes.html
+++ b/docs/relnotes.html
@@ -14,6 +14,7 @@ The release notes summarize what's new or changed in each Mesa release.
 </p>
 
 <ul>
+<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.4.html">8.0.4 release notes</a>

commit 2b2ab2b3eab6f016dc7027ee4610f5f9500a0ac7
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Sun Jan 20 15:18:44 2013 +0100

    mesa: Bump version to 9.0.2

diff --git a/Makefile.am b/Makefile.am
index 72445b4..946c6bb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -54,7 +54,7 @@ distclean-local:
 
 # Rules for making release tarballs
 
-PACKAGE_VERSION=9.0.1
+PACKAGE_VERSION=9.0.2
 PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
 PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
 
diff --git a/configs/default b/configs/default
index e5d4705..626b924 100644
--- a/configs/default
+++ b/configs/default
@@ -10,7 +10,7 @@ CONFIG_NAME = default
 # Version info
 MESA_MAJOR=9
 MESA_MINOR=0
-MESA_TINY=1
+MESA_TINY=2
 MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
 
 # external projects.  This should be useless now that we use libdrm.
diff --git a/configure.ac b/configure.ac
index e2caabe..682e0a5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,7 +6,7 @@ dnl Tell the user about autoconf.html in the --help output
 m4_divert_once([HELP_END], [
 See docs/autoconf.html for more details on the options for Mesa.])
 
-AC_INIT([Mesa], [9.0.1],
+AC_INIT([Mesa], [9.0.2],
     [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
 AC_CONFIG_AUX_DIR([bin])
 AC_CONFIG_MACRO_DIR([m4])
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index a1cc438..303f9a8 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 9
 #define MESA_MINOR 0
-#define MESA_PATCH 1
-#define MESA_VERSION_STRING "9.0.1"
+#define MESA_PATCH 2
+#define MESA_VERSION_STRING "9.0.2"
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

commit 81d40e66ad1c0c53c1de2f183a4987a3159c7c55
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Mon Jan 21 17:36:52 2013 +0200

    egl/wayland: Destroy the pending buffer callback with the egl surface
    
    Otherwise, we crash when the callback is executed, since the dri2_surf
    pointer may point to invalid data.
    
    Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>

diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index 3c42338..2e7b547 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -177,6 +177,7 @@ struct dri2_egl_surface
    __DRIbuffer           *third_buffer;
    __DRIbuffer           *pending_buffer;
    struct wl_callback    *frame_callback;
+   struct wl_callback    *pending_buffer_callback;
    int			  format;
 #endif
 
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index 59371d6..ccff9a8 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -145,6 +145,7 @@ dri2_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
    dri2_surf->pending_buffer = NULL;
    dri2_surf->third_buffer = NULL;
    dri2_surf->frame_callback = NULL;
+   dri2_surf->pending_buffer_callback = NULL;
 
    if (conf->AlphaSize == 0)
       dri2_surf->format = WL_DRM_FORMAT_XRGB8888;
@@ -232,6 +233,9 @@ dri2_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
    if (dri2_surf->frame_callback)
       wl_callback_destroy(dri2_surf->frame_callback);
 
+   if (dri2_surf->pending_buffer_callback)
+      wl_callback_destroy(dri2_surf->pending_buffer_callback);
+
 
    if (dri2_surf->base.Type == EGL_WINDOW_BIT) {
       dri2_surf->wl_win->private = NULL;
@@ -299,6 +303,7 @@ dri2_release_pending_buffer(void *data,
    dri2_surf->pending_buffer = NULL;
 
    wl_callback_destroy(callback);
+   dri2_surf->pending_buffer_callback = NULL;
 }
 
 static const struct wl_callback_listener release_buffer_listener = {
@@ -331,6 +336,7 @@ dri2_release_buffers(struct dri2_egl_surface *dri2_surf)
 				     &release_buffer_listener, dri2_surf);
             wl_proxy_set_queue((struct wl_proxy *) callback,
                                dri2_dpy->wl_queue);
+            dri2_surf->pending_buffer_callback = callback;
             break;
          default:
             dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen,

commit cd0e19a749951c0d7e88e3cce5cf71de54681d11
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Sun Jan 20 15:14:40 2013 +0100

    mesa: update .cherry-ignore list

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 35f6e1d..132aadc 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -1,5 +1,10 @@
 # These commits were cherry picked without using -x.
-# TBD
+ca3ed3e024864e91ca3cccc59fb96950e1d079b5 egl/wayland: Don't invalidate drawable on swap buffers
+89ba4368fd86778405eea163e2b27812055f0df9 egl/wayland: Add invalidate back in eglSwapBuffers()
+60a11e295b86475ff334291a5b483e422371b21c egl/wayland: Dispatch the event queue before get_buffers
+41e105d5beb78c42993a602cc58d0f990739b088 nvc0: add missing call to map edge flag in push_vbo
+be75a9373a6d0f9e2ef35ac376a541e60d72d306 nv50/ir: wrap assertion using typeid in #ifndef NDEBUG
+7d2d450ea6d8082db14cd3f86c6c25442bf771c5 nouveau: fix undefined behaviour when testing sample_count
 
 # Causes too many regressions...
 413c4914129cd26ca87960852d8c0264c0fb29e7 intel: Improve teximage perf for Google Chrome paint rects (v3)

commit 88258e0dfe2371c2d591f27fba3511977e31e5ea
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Jan 18 12:46:52 2013 +0100

    Revert "r600g: try to fix streamout for the cases where BURST_COUNT > 0"
    
    This reverts commit 42f71b4861b9d01a8f925fea3182fc1a292222f3.
    
    Fixes the following piglit regressions on my rv770
    
    ./bin/ext_transform_feedback-output-type float[2] -auto -fbo
    ./bin/ext_transform_feedback-output-type float[2]-no-subscript -auto -fbo
    ./bin/ext_transform_feedback-output-type int[2] -auto -fbo
    ./bin/ext_transform_feedback-output-type int[2]-no-subscript -auto -fbo
    ./bin/ext_transform_feedback-output-type uint[2] -auto -fbo
    ./bin/ext_transform_feedback-output-type uint[2]-no-subscript -auto -fbo

diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 75144a6..e64f624 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -1482,7 +1482,7 @@ static int r600_shader_from_tgsi(struct r600_context * rctx, struct r600_pipe_sh
 
 			memset(&output, 0, sizeof(struct r600_bytecode_output));
 			output.gpr = shader->output[so.output[i].register_index].gpr;
-			output.elem_size = so.output[i].num_components;
+			output.elem_size = 0;
 			output.array_base = so.output[i].dst_offset - so.output[i].start_component;
 			output.type = V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_WRITE;
 			output.burst_count = 1;

commit d63e946587bb104e2b320fbebafe25bb969d01b8
Author: Johannes Obermayr <johannesobermayr@gmx.de>
Date:   Sat Dec 29 01:52:11 2012 +0100

    tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).
    
    Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com>
    (cherry picked from commit ebcabb88cfd19b35cd1b0a327fa055fff0c1b2be)
    
    Additionally it fixes the missing $(top_srcdir)/include in
    src/glsl/tests/Makefile.am
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59383

diff --git a/src/glsl/tests/Makefile.am b/src/glsl/tests/Makefile.am
index 957bb55..eaf5a3c 100644
--- a/src/glsl/tests/Makefile.am
+++ b/src/glsl/tests/Makefile.am
@@ -1,8 +1,9 @@
 AM_CPPFLAGS = \
-	-I$(top_builddir)/src/gtest/include \
-	-I$(top_builddir)/src/mesa \
-	-I$(top_builddir)/src/mapi \
-	-I$(top_builddir)/src/glsl
+	-I$(top_srcdir)/src/gtest/include \
+	-I$(top_srcdir)/src/mesa \
+	-I$(top_srcdir)/src/mapi \
+	-I$(top_srcdir)/src/glsl \
+	-I$(top_srcdir)/include
 
 TESTS_ENVIRONMENT= \
 	export PYTHON2=$(PYTHON2); \
diff --git a/src/glx/tests/Makefile.am b/src/glx/tests/Makefile.am
index 83626fd..d940712 100644
--- a/src/glx/tests/Makefile.am
+++ b/src/glx/tests/Makefile.am
@@ -1,11 +1,11 @@
 if HAVE_SHARED_GLAPI
 AM_CFLAGS = $(PTHREAD_CFLAGS)
 AM_CPPFLAGS = \
-	-I$(top_builddir)/src/gtest/include \
-	-I$(top_builddir)/src/mapi \
-	-I$(top_builddir)/src/mesa \
-	-I$(top_builddir)/src/glx \
-	-I$(top_builddir)/include \
+	-I$(top_srcdir)/src/gtest/include \
+	-I$(top_srcdir)/src/mapi \
+	-I$(top_srcdir)/src/mesa \
+	-I$(top_srcdir)/src/glx \
+	-I$(top_srcdir)/include \
 	$(X11_CFLAGS)
 
 TESTS = glx-test
diff --git a/src/mapi/shared-glapi/tests/Makefile.am b/src/mapi/shared-glapi/tests/Makefile.am
index 23d0208..98065fc 100644
--- a/src/mapi/shared-glapi/tests/Makefile.am
+++ b/src/mapi/shared-glapi/tests/Makefile.am
@@ -1,9 +1,9 @@
 if HAVE_SHARED_GLAPI
 AM_CFLAGS = $(PTHREAD_CFLAGS)
 AM_CPPFLAGS = \
-	-I$(top_builddir)/src/gtest/include \
-	-I$(top_builddir)/src/mapi \
-	-I$(top_builddir)/include
+	-I$(top_srcdir)/src/gtest/include \
+	-I$(top_srcdir)/src/mapi \
+	-I$(top_srcdir)/include
 
 TESTS = shared-glapi-test
 check_PROGRAMS = shared-glapi-test

commit 4cf2be408eeabd7ae8b0d3c3c81a6dc17e98e323
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Mon Sep 17 14:33:56 2012 +0000

    r600g: Use LOOP_START_DX10 for loops
    
    LOOP_START_DX10 ignores the LOOP_CONFIG* registers, so it is not limited
    to 4096 iterations like the other LOOP_* instructions.  Compute shaders
    need to use this instruction, and since we aren't optimizing loops with
    the LOOP_CONFIG* registers for pixel and vertex shaders, it seems like
    we should just use it for everything.
    
    Reviewed-by: Marek Olšák <maraeo@gmail.com>
    (cherry picked from commit 810345492eca34c2ad12728b5491a4691cc62ec2)
    
    Fixes a hang on the following piglit test on my rv770
    ./bin/ext_timer_query-time-elapsed -auto -fbo

diff --git a/src/gallium/drivers/r600/eg_asm.c b/src/gallium/drivers/r600/eg_asm.c
index d2c1679..00ac4a8 100644
--- a/src/gallium/drivers/r600/eg_asm.c
+++ b/src/gallium/drivers/r600/eg_asm.c
@@ -121,6 +121,7 @@ int eg_bytecode_cf_build(struct r600_bytecode *bc, struct r600_bytecode_cf *cf)
 	case EG_V_SQ_CF_WORD1_SQ_CF_INST_ELSE:
 	case EG_V_SQ_CF_WORD1_SQ_CF_INST_POP:
 	case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL:
+	case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10:
 	case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END:
 	case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE:
 	case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK:
diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c
index 48a2a8a..83529d8 100644
--- a/src/gallium/drivers/r600/r600_asm.c
+++ b/src/gallium/drivers/r600/r600_asm.c
@@ -1878,6 +1878,7 @@ static int r600_bytecode_cf_build(struct r600_bytecode *bc, struct r600_bytecode
 	case V_SQ_CF_WORD1_SQ_CF_INST_ELSE:
 	case V_SQ_CF_WORD1_SQ_CF_INST_POP:
 	case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL:
+	case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10:
 	case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END:
 	case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE:
 	case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK:
@@ -1952,6 +1953,7 @@ int r600_bytecode_build(struct r600_bytecode *bc)
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_ELSE:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_POP:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL:
+			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK:
@@ -1986,7 +1988,7 @@ int r600_bytecode_build(struct r600_bytecode *bc)
 			case V_SQ_CF_WORD1_SQ_CF_INST_JUMP:
 			case V_SQ_CF_WORD1_SQ_CF_INST_ELSE:
 			case V_SQ_CF_WORD1_SQ_CF_INST_POP:
-			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL:
+			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK:
@@ -2089,6 +2091,7 @@ int r600_bytecode_build(struct r600_bytecode *bc)
 			case EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF1:
 			case EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF2:
 			case EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF3:
+			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE:
@@ -2172,6 +2175,7 @@ int r600_bytecode_build(struct r600_bytecode *bc)
 			case V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2:
 			case V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL:
+			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK:
@@ -2360,6 +2364,7 @@ void r600_bytecode_dump(struct r600_bytecode *bc)
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_ELSE:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_POP:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL:
+			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE:
 			case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK:
@@ -2454,6 +2459,7 @@ void r600_bytecode_dump(struct r600_bytecode *bc)
 			case V_SQ_CF_WORD1_SQ_CF_INST_ELSE:
 			case V_SQ_CF_WORD1_SQ_CF_INST_POP:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL:
+			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE:
 			case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK:
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 76e26e8..75144a6 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -5114,7 +5114,9 @@ static int tgsi_endif(struct r600_shader_ctx *ctx)
 
 static int tgsi_bgnloop(struct r600_shader_ctx *ctx)
 {
-	r600_bytecode_add_cfinst(ctx->bc, CTX_INST(V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL));
+	/* LOOP_START_DX10 ignores the LOOP_CONFIG* registers, so it is not
+	 * limited to 4096 iterations, like the other LOOP_* instructions. */
+	r600_bytecode_add_cfinst(ctx->bc, CTX_INST(V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10));
 
 	fc_pushlevel(ctx, FC_LOOP);
 

commit 7045f222cdd3a50f03e66ae2c184af17d9c32364
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Jan 2 13:46:20 2013 -0700

    gallivm: support more immediates in lp_build_tgsi_info()
    
    Bump limit from 32 to 128.
    
    Fixes http://bugs.freedesktop.org/show_bug.cgi?id=58545
    (cherry picked from commit 1b6ba9c4c840e291cbbe19a8601b56d1d103179c)
    
    Reviewed-by: Brian Paul <brianp@vmware.com>

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c
index ab393ed..5ce93a4 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c
@@ -47,7 +47,7 @@ struct analysis_context
    struct lp_tgsi_info *info;
 
    unsigned num_imms;
-   float imm[32][4];
+   float imm[128][4];
 
    struct lp_tgsi_channel_info temp[32][4];
 };

commit 39fdab1d66bd3374c6de31bb8d890b911391c1fa
Author: Johannes Obermayr <johannesobermayr@gmx.de>
Date:   Fri Nov 30 01:44:56 2012 +0100

    clover: Adapt libclc's INCLUDEDIR and LIBEXECDIR to make use of the new introduced libclc.pc.
    
    Tom Stellard:
      -Keep --with-libclc-path and mark it deprecated.
    
    Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
    (cherry picked from commit 959e83d65075513f989cb1fe634dca314a7e185f)

diff --git a/configs/current.in b/configs/current.in
index 62edfa5..597d003 100644
--- a/configs/current.in
+++ b/configs/current.in
@@ -182,7 +182,8 @@ VA_LIB_INSTALL_DIR=@VA_LIB_INSTALL_DIR@
 XORG_DRIVER_INSTALL_DIR = @XORG_DRIVER_INSTALL_DIR@
 
 # Path to OpenCL C library libclc
-LIBCLC_PATH = @LIBCLC_PATH@
+LIBCLC_INCLUDEDIR = @LIBCLC_INCLUDEDIR@
+LIBCLC_LIBEXECDIR = @LIBCLC_LIBEXECDIR@
 
 # pkg-config substitutions
 GL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@
diff --git a/configure.ac b/configure.ac
index 97e98ac..e2caabe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1433,17 +1433,27 @@ dnl
 
 AC_ARG_WITH([libclc-path],
    [AS_HELP_STRING([--with-libclc-path],
-         [Path to libclc builtins library.  Example: --with-libclc-path=\$HOME/libclc/])],
+         [DEPRECATED: See http://dri.freedesktop.org/wiki/GalliumCompute#How_to_Install])],
    [LIBCLC_PATH="$withval"],
    [LIBCLC_PATH=""])
 
+if test "x$LIBCLC_PATH" != x; then
+   AC_MSG_ERROR([The --with-libclc-path option has been deprecated.
+                  Please review the updated build instructions for clover:
+		  http://dri.freedesktop.org/wiki/GalliumCompute])
+fi
+
+
 AC_ARG_WITH([clang-libdir],
    [AS_HELP_STRING([--with-clang-libdir],
          [Path to Clang libraries @<:@default=llvm-config --libdir@:>@])],
    [CLANG_LIBDIR="$withval"],
    [CLANG_LIBDIR=""])
 
-AC_SUBST([LIBCLC_PATH])
+LIBCLC_INCLUDEDIR=`pkg-config --variable=includedir libclc`
+LIBCLC_LIBEXECDIR=`pkg-config --variable=libexecdir libclc`
+AC_SUBST([LIBCLC_INCLUDEDIR])
+AC_SUBST([LIBCLC_LIBEXECDIR])
 
 if test "x$enable_opencl" = xyes; then
     if test "x$with_gallium_drivers" = x; then
@@ -1454,6 +1464,10 @@ if test "x$enable_opencl" = xyes; then
         AC_MSG_ERROR([gcc >= 4.6 is required to build clover])
     fi
 
+    if test "x$LIBCLC_INCLUDEDIR" == x || test "x$LIBCLC_LIBEXECDIR" == x; then
+        AC_MSG_ERROR([pkg-config cannot use libclc.pc which is required to build clover])
+    fi
+
     GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS clover"
     GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS opencl"
     enable_gallium_loader=yes
diff --git a/src/gallium/state_trackers/clover/Makefile.am b/src/gallium/state_trackers/clover/Makefile.am
index ee69f89..863d136 100644
--- a/src/gallium/state_trackers/clover/Makefile.am
+++ b/src/gallium/state_trackers/clover/Makefile.am
@@ -23,7 +23,8 @@ libclllvm_la_CXXFLAGS = \
 	-std=c++98 \
 	$(LLVM_CPPFLAGS) \
 	$(DEFINES) \
-	-DLIBCLC_PATH=\"$(LIBCLC_PATH)/\" \
+	-DLIBCLC_INCLUDEDIR=\"$(LIBCLC_INCLUDEDIR)/\" \
+	-DLIBCLC_LIBEXECDIR=\"$(LIBCLC_LIBEXECDIR)/\" \
 	-DCLANG_RESOURCE_DIR=\"$(CLANG_RESOURCE_DIR)\"
 
 libclllvm_la_SOURCES = \
diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
index be15e96..4b267b7 100644
--- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
+++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
@@ -108,7 +108,7 @@ namespace {
       c.getHeaderSearchOpts().ResourceDir = CLANG_RESOURCE_DIR;
 
       // Add libclc generic search path
-      c.getHeaderSearchOpts().AddPath(LIBCLC_PATH "/generic/include/",
+      c.getHeaderSearchOpts().AddPath(LIBCLC_INCLUDEDIR,
                                       clang::frontend::Angled,
                                       false, false, false);
 
@@ -154,7 +154,7 @@ namespace {
       llvm::Linker linker("clover", mod);
 
       // Link the kernel with libclc
-      linker.LinkInFile(llvm::sys::Path(LIBCLC_PATH + triple + "/lib/builtins.bc"), isNative);
+      linker.LinkInFile(llvm::sys::Path(LIBCLC_LIBEXECDIR + triple + ".bc"), isNative);
       mod = linker.releaseModule();
 
       // Add a function internalizer pass.

commit dfb3dc3fb817af398c51269691948a93f6164a30
Author: Johannes Obermayr <johannesobermayr@gmx.de>
Date:   Fri Nov 30 23:53:58 2012 +0100

    gallium/auxiliary: Add -fno-rtti to CXXFLAGS on LLVM >= 3.2.
    
    Also remove the recently added and overloaded LLVM_CXXFLAGS from CXXFLAGS.
    
    Note: This is a candidate for the stable branches.
    
    Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
    (cherry picked from commit 21694b8eacbf63f8abdee6340510c0458a25a7fb)
    
    Conflicts:
    	src/gallium/auxiliary/Makefile

diff --git a/src/gallium/auxiliary/Makefile b/src/gallium/auxiliary/Makefile
index 3ba3f9c..72208f1 100644
--- a/src/gallium/auxiliary/Makefile
+++ b/src/gallium/auxiliary/Makefile
@@ -13,6 +13,11 @@ C_SOURCES += \
 	$(GALLIVM_SOURCES)
 CPP_SOURCES += \
 	$(GALLIVM_CPP_SOURCES)
+
+# LLVM >= 3.2 requires -fno-rtti
+ifeq ($(shell expr `echo $(LLVM_VERSION) | sed -e 's/\([0-9]\)\.\([0-9]\)/\10\2/g'` \>= 302),1)
+CXXFLAGS += -fno-rtti
+endif
 endif
 
 

commit 320b5abda5026f23f327c6f60c1b6287cc507e78
Author: smoki <smoki00790@gmail.com>
Date:   Thu Jan 3 18:57:40 2013 +0100

    radeon/r200: Fix tcl culling
    
    Should fix:
    https://bugs.freedesktop.org/show_bug.cgi?id=57842
    (cherry picked from commit 5bf357db89836d0f4e4b8a4cb559755d4734b81b)

diff --git a/src/mesa/drivers/dri/r200/r200_state.c b/src/mesa/drivers/dri/r200/r200_state.c
index 1c33517..93ae52a 100644
--- a/src/mesa/drivers/dri/r200/r200_state.c
+++ b/src/mesa/drivers/dri/r200/r200_state.c
@@ -529,6 +529,7 @@ static void r200CullFace( struct gl_context *ctx, GLenum unused )
 static void r200FrontFace( struct gl_context *ctx, GLenum mode )
 {
    r200ContextPtr rmesa = R200_CONTEXT(ctx);
+   int cull_face = (mode == GL_CW) ? R200_FFACE_CULL_CW : R200_FFACE_CULL_CCW;
 
    R200_STATECHANGE( rmesa, set );
    rmesa->hw.set.cmd[SET_SE_CNTL] &= ~R200_FFACE_CULL_DIR_MASK;
@@ -538,17 +539,11 @@ static void r200FrontFace( struct gl_context *ctx, GLenum mode )
 
    /* Winding is inverted when rendering to FBO */
    if (ctx->DrawBuffer && _mesa_is_user_fbo(ctx->DrawBuffer))
-      mode = (mode == GL_CW) ? GL_CCW : GL_CW;
+      cull_face = (mode == GL_CCW) ? R200_FFACE_CULL_CW : R200_FFACE_CULL_CCW;
+   rmesa->hw.set.cmd[SET_SE_CNTL] |= cull_face;
 
-   switch ( mode ) {
-   case GL_CW:
-      rmesa->hw.set.cmd[SET_SE_CNTL] |= R200_FFACE_CULL_CW;
-      break;
-   case GL_CCW:
-      rmesa->hw.set.cmd[SET_SE_CNTL] |= R200_FFACE_CULL_CCW;
+   if ( mode == GL_CCW )


Reply to: