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 < 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>
+
+</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: