VERSION | 2 configure.ac | 6 debian/changelog | 20 + debian/patches/01_targets-xa-limit-the-amount-of-exported-symbols.diff | 85 ---- debian/patches/series | 1 docs/index.html | 7 docs/relnotes.html | 2 docs/relnotes/10.2.1.html | 61 +++ docs/relnotes/10.2.2.html | 178 ++++++++++ include/GL/glx.h | 2 src/egl/drivers/dri2/Android.mk | 4 src/egl/drivers/dri2/platform_android.c | 2 src/egl/main/Android.mk | 5 src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 8 src/gallium/drivers/nouveau/nv30/nv30_context.c | 3 src/gallium/drivers/nouveau/nv30/nv30_screen.c | 6 src/gallium/drivers/nouveau/nv30/nv30_state.c | 17 src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c | 1 src/gallium/drivers/nouveau/nv50/nv50_surface.c | 1 src/gallium/drivers/radeon/radeon_video.c | 5 src/gallium/state_trackers/clover/llvm/invocation.cpp | 20 - src/gallium/targets/xa/Makefile.am | 3 src/gallium/targets/xa/xa.sym | 38 ++ src/glx/dri2.c | 12 src/glx/glxext.c | 9 src/mesa/Android.libmesa_dricore.mk | 8 src/mesa/Android.libmesa_glsl_utils.mk | 1 src/mesa/Android.mesa_gen_matypes.mk | 1 src/mesa/drivers/common/meta.c | 4 src/mesa/drivers/common/meta_blit.c | 2 src/mesa/drivers/dri/Android.mk | 1 src/mesa/drivers/dri/common/Android.mk | 17 src/mesa/drivers/dri/common/Makefile.am | 2 src/mesa/drivers/dri/common/Makefile.sources | 3 src/mesa/drivers/dri/i915/i830_texblend.c | 2 src/mesa/drivers/dri/i965/brw_context.h | 3 src/mesa/drivers/dri/i965/brw_fs.cpp | 8 src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c | 18 - src/mesa/drivers/dri/i965/brw_vec4.cpp | 3 src/mesa/drivers/dri/i965/gen6_clip_state.c | 4 src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 4 src/mesa/drivers/dri/i965/gen8_depth_state.c | 20 - src/mesa/drivers/dri/i965/gen8_draw_upload.c | 6 src/mesa/drivers/dri/i965/gen8_misc_state.c | 2 src/mesa/drivers/dri/i965/gen8_surface_state.c | 4 src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp | 16 src/mesa/main/clear.c | 5 src/mesa/main/get.c | 6 src/mesa/program/program.c | 1 49 files changed, 485 insertions(+), 154 deletions(-)
New commits: commit e1536246ed9f1f0c66e8ad9bfd80a174784e49d8 Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Thu Jul 3 11:50:59 2014 +0200 release to utopic diff --git a/debian/changelog b/debian/changelog index 709bcf1..60df661 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +mesa (10.2.2-1ubuntu1) utopic; urgency=medium + + * Merge with released debian unstable. + - New upstream release. + + -- Maarten Lankhorst <maarten.lankho...@ubuntu.com> Thu, 03 Jul 2014 11:44:05 +0200 + mesa (10.2.2-1) unstable; urgency=medium [ Andreas Boll ] commit 1b3809aa2460d58a7ce7aa1161985a30790bae60 Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Thu Jul 3 09:55:04 2014 +0200 release to unstable diff --git a/debian/changelog b/debian/changelog index 3020768..44cf9fd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ -mesa (10.2.2-1) UNRELEASED; urgency=medium +mesa (10.2.2-1) unstable; urgency=medium + [ Andreas Boll ] * New upstream release. - glx: Don't crash on swap event for a Window (non-GLXWindow) (Closes: #685328). @@ -8,7 +9,7 @@ mesa (10.2.2-1) UNRELEASED; urgency=medium * Cherry-pick commit b4dcf87 (glxext: Send the Drawable's ID in the GLX_BufferSwapComplete event) from upstream, fixes intel + dri3. - -- Andreas Boll <andreas.boll....@gmail.com> Wed, 02 Jul 2014 18:00:52 +0200 + -- Maarten Lankhorst <maarten.lankho...@ubuntu.com> Thu, 03 Jul 2014 09:54:48 +0200 mesa (10.2.1-2) unstable; urgency=medium commit 2fea99b92624c55d7fb490e1e550c9205c176ec7 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Thu Jul 3 08:42:47 2014 +0200 Add changelog entry diff --git a/debian/changelog b/debian/changelog index 54f77cf..3020768 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,8 @@ mesa (10.2.2-1) UNRELEASED; urgency=medium (Closes: #685328). - 01_targets-xa-limit-the-amount-of-exported-symbols.diff dropped, upstream + * Cherry-pick commit b4dcf87 (glxext: Send the Drawable's ID in the + GLX_BufferSwapComplete event) from upstream, fixes intel + dri3. -- Andreas Boll <andreas.boll....@gmail.com> Wed, 02 Jul 2014 18:00:52 +0200 commit 9dd43892337893f3fb28a269afd59149ddecbfb7 Author: Jasper St. Pierre <jstpie...@mecheye.net> Date: Tue Jun 24 13:43:53 2014 -0400 glxext: Send the Drawable's ID in the GLX_BufferSwapComplete event While the official INTEL_swap_event specification says that the drawable field should contain the GLXDrawable, not the Drawable, the existing DRI2 code in dri2.c that translates from DRI2_BufferSwapComplete sends out GLX_BufferSwapComplete with the Drawable's ID, so existing codebases like Clutter/Cogl rely on getting the Drawable. Match DRI2's error here and stuff the event with the X Drawable, not the GLX drawable. This fixes apps seeing wrong drawables through an indirect GLX context or with DRI3, which uses the GLX_BufferSwapComplete event directly on the wire instead of translates Present in mesa. At the same time, also modify the structure for the event to make sure that clients don't make the same mistake. This is not an API or ABI break, as GLXDrawable and Drawable are both typedefs for XID. Signed-off-by: Jasper St. Pierre <jstpie...@mecheye.net> Reviewed-by: Axel Davy <axel.d...@ens.fr> Cc: "10.1 10.2" <mesa-sta...@lists.freedesktop.org> Signed-off-by: Dave Airlie <airl...@redhat.com> (cherry picked from commit b4dcf87f34f68111acd9d364739938721fc692f4) diff --git a/include/GL/glx.h b/include/GL/glx.h index 234abc0..78f5052 100644 --- a/include/GL/glx.h +++ b/include/GL/glx.h @@ -518,7 +518,7 @@ typedef struct { unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ - GLXDrawable drawable; /* drawable on which event was requested in event mask */ + Drawable drawable; /* drawable on which event was requested in event mask */ int event_type; int64_t ust; int64_t msc; diff --git a/src/glx/glxext.c b/src/glx/glxext.c index 820cbc0..b0d1e3c 100644 --- a/src/glx/glxext.c +++ b/src/glx/glxext.c @@ -134,14 +134,15 @@ __glXWireToEvent(Display *dpy, XEvent *event, xEvent *wire) GLXBufferSwapComplete *aevent = (GLXBufferSwapComplete *)event; xGLXBufferSwapComplete2 *awire = (xGLXBufferSwapComplete2 *)wire; struct glx_drawable *glxDraw = GetGLXDrawable(dpy, awire->drawable); - aevent->event_type = awire->event_type; - aevent->drawable = awire->drawable; - aevent->ust = ((CARD64)awire->ust_hi << 32) | awire->ust_lo; - aevent->msc = ((CARD64)awire->msc_hi << 32) | awire->msc_lo; if (!glxDraw) return False; + aevent->event_type = awire->event_type; + aevent->drawable = glxDraw->xDrawable; + aevent->ust = ((CARD64)awire->ust_hi << 32) | awire->ust_lo; + aevent->msc = ((CARD64)awire->msc_hi << 32) | awire->msc_lo; + if (awire->sbc < glxDraw->lastEventSbc) glxDraw->eventSbcWrap += 0x100000000; glxDraw->lastEventSbc = awire->sbc; commit 577ff5714dd4a7cf4bf190512be3a591354ae108 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Jul 2 18:14:24 2014 +0200 Close bug #685328 diff --git a/debian/changelog b/debian/changelog index 6e0cd4f..54f77cf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ mesa (10.2.2-1) UNRELEASED; urgency=medium * New upstream release. + - glx: Don't crash on swap event for a Window (non-GLXWindow) + (Closes: #685328). - 01_targets-xa-limit-the-amount-of-exported-symbols.diff dropped, upstream commit e59ab65be973ec62739dbedfef994ef9cf6e3cfb Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Jul 2 18:04:43 2014 +0200 Drop 01_targets-xa-limit-the-amount-of-exported-symbols.diff, upstream diff --git a/debian/changelog b/debian/changelog index c2d0646..6e0cd4f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ mesa (10.2.2-1) UNRELEASED; urgency=medium * New upstream release. + - 01_targets-xa-limit-the-amount-of-exported-symbols.diff dropped, + upstream -- Andreas Boll <andreas.boll....@gmail.com> Wed, 02 Jul 2014 18:00:52 +0200 diff --git a/debian/patches/01_targets-xa-limit-the-amount-of-exported-symbols.diff b/debian/patches/01_targets-xa-limit-the-amount-of-exported-symbols.diff deleted file mode 100644 index ea67e12..0000000 --- a/debian/patches/01_targets-xa-limit-the-amount-of-exported-symbols.diff +++ /dev/null @@ -1,85 +0,0 @@ -From 891e9aa59c74843f245e21d7c3eea5c0fa01cbcc Mon Sep 17 00:00:00 2001 -From: Emil Velikov <emil.l.veli...@gmail.com> -Date: Fri, 2 May 2014 22:02:15 +0100 -Subject: [PATCH mesa] targets/xa: limit the amount of exported symbols - -In the presence of LLVM the final library exports every symbol from -the llvm namespace. Resolve this by using a version script (w/o the -version/name tag). - -Considering that there are only ~35 symbols, explicitly list them -to minimize the chances of rogue symbols sneaking in. - -v2: Conditionally include the version-script. - -Reviewed-by: Thomas Hellstrom <thellst...@vmware.com> (v1) -Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> -(cherry picked from commit a75baba2f14a2bcdaf640aeef86d67b41bb2a76f) -Signed-off-by: Andreas Boll <andreas.boll....@gmail.com> ---- - src/gallium/targets/xa/Makefile.am | 3 +++ - src/gallium/targets/xa/xa.sym | 38 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 41 insertions(+) - create mode 100644 src/gallium/targets/xa/xa.sym - -diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am -index 2619e57..b91c7f5 100644 ---- a/src/gallium/targets/xa/Makefile.am -+++ b/src/gallium/targets/xa/Makefile.am -@@ -66,6 +66,9 @@ libxatracker_la_LDFLAGS = \ - $(GC_SECTIONS) \ - $(LD_NO_UNDEFINED) - -+libxatracker_la_LDFLAGS += \ -+ -Wl,--version-script=$(top_srcdir)/src/gallium/targets/xa/xa.sym -+ - if HAVE_MESA_LLVM - libxatracker_la_LIBADD += $(LLVM_LIBS) - libxatracker_la_LDFLAGS += $(LLVM_LDFLAGS) -diff --git a/src/gallium/targets/xa/xa.sym b/src/gallium/targets/xa/xa.sym -new file mode 100644 -index 0000000..9c7f422 ---- /dev/null -+++ b/src/gallium/targets/xa/xa.sym -@@ -0,0 +1,38 @@ -+{ -+ global: -+ xa_composite_allocation; -+ xa_composite_check_accelerated; -+ xa_composite_done; -+ xa_composite_prepare; -+ xa_composite_rect; -+ xa_context_create; -+ xa_context_default; -+ xa_context_destroy; -+ xa_context_flush; -+ xa_copy; -+ xa_copy_done; -+ xa_copy_prepare; -+ xa_fence_get; -+ xa_fence_wait; -+ xa_fence_destroy; -+ xa_format_check_supported; -+ xa_solid; -+ xa_solid_done; -+ xa_solid_prepare; -+ xa_surface_create; -+ xa_surface_dma; -+ xa_surface_format; -+ xa_surface_from_handle; -+ xa_surface_handle; -+ xa_surface_map; -+ xa_surface_redefine; -+ xa_surface_ref; -+ xa_surface_unmap; -+ xa_surface_unref; -+ xa_tracker_create; -+ xa_tracker_destroy; -+ xa_tracker_version; -+ xa_yuv_planar_blit; -+ local: -+ *; -+}; --- -2.0.0 - diff --git a/debian/patches/series b/debian/patches/series index 06e5a17..9f0749f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1 @@ -01_targets-xa-limit-the-amount-of-exported-symbols.diff 07_gallium-fix-build-failure-on-powerpcspe.diff commit f2fd904958537050399b2d8c151b4029712bfa27 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Jul 2 18:01:37 2014 +0200 New upstream release. diff --git a/debian/changelog b/debian/changelog index 54ed0a6..c2d0646 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +mesa (10.2.2-1) UNRELEASED; urgency=medium + + * New upstream release. + + -- Andreas Boll <andreas.boll....@gmail.com> Wed, 02 Jul 2014 18:00:52 +0200 + mesa (10.2.1-2) unstable; urgency=medium * Upload to unstable. commit 623e68fb1ba75063f6bccfc17048fffb4ef3acf1 Author: Carl Worth <cwo...@cworth.org> Date: Tue Jun 24 21:30:02 2014 -0700 docs: Add release notes for 10.2.2 release Which is ready to go. diff --git a/docs/relnotes/10.2.2.html b/docs/relnotes/10.2.2.html new file mode 100644 index 0000000..ebc0b35 --- /dev/null +++ b/docs/relnotes/10.2.2.html @@ -0,0 +1,178 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> +<head> + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + <title>Mesa Release Notes</title> + <link rel="stylesheet" type="text/css" href="../mesa.css"> +</head> +<body> + +<div class="header"> + <h1>The Mesa 3D Graphics Library</h1> +</div> + +<iframe src="../contents.html"></iframe> +<div class="content"> + +<h1>Mesa 10.2.2 Release Notes / June 24, 2014</h1> + +<p> +Mesa 10.2.2 is a bug fix release which fixes bugs found since the 10.2.1 release. +</p> +<p> +Mesa 10.2.2 implements the OpenGL 3.3 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.3. OpenGL +3.3 is <strong>only</strong> available if requested at context creation +because compatibility contexts are not supported. +</p> + + +<h2>SHA256 checksums</h2> +<pre> +</pre> + + +<h2>New features</h2> +<p>None</p> + +<h2>Bug fixes</h2> + +<p>This list is likely incomplete.</p> + +<ul> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54372">Bug 54372</a> - GLX_INTEL_swap_event crashes driver when swapping window buffers</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66452">Bug 66452</a> - JUNIPER UVD accelerated playback of WMV3 streams does not work</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74005">Bug 74005</a> - [i965 Bisected]Piglit/glx_glx-make-glxdrawable-current fails</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77865">Bug 77865</a> - [BDW] Many Ogles3conform framebuffer_blit cases fail</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78581">Bug 78581</a> - OpenCL: clBuildProgram prints error messages directly rather than storing them</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79029">Bug 79029</a> - INTEL_DEBUG=shader_time is full of lies</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79729">Bug 79729</a> - [i965] glClear on a multisample texture doesn't work</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79907">Bug 79907</a> - Mesa 10.2.1 --enable-vdpau default=auto broken</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80115">Bug 80115</a> - MESA_META_DRAW_BUFFERS induced GL_INVALID_VALUE errors</li> + +</ul> + + +<h2>Changes</h2> + +<p>Adrian Negreanu (8):</p> +<ul> + <li>add megadriver_stub_FILES</li> + <li>android: adapt to the megadriver mechanism</li> + <li>android: add libloader to libGLES_mesa and libmesa_egl_dri2</li> + <li>android: add src/gallium/auxiliary as include path for libmesa_dricore</li> + <li>android, egl: add correct drm include for libmesa_egl_dri2</li> + <li>android, egl: typo dri2_fallback_pixmap_surface -> dri2_fallback_create_pixmap_surface</li> + <li>android, mesa_gen_matypes: pull in timespec POSIX definition</li> + <li>android, dricore: undefined reference to _mesa_streaming_load_memcpy</li> +</ul> + +<p>Carl Worth (1):</p> +<ul> + <li>Update VERSION to 10.2.2</li> +</ul> + +<p>Daniel Manjarres (1):</p> +<ul> + <li>glx: Don't crash on swap event for a Window (non-GLXWindow)</li> +</ul> + +<p>Emil Velikov (3):</p> +<ul> + <li>targets/xa: limit the amount of exported symbols</li> + <li>configure: error out when building opencl without LLVM</li> + <li>configure: correctly autodetect xvmc/vdpau/omx</li> +</ul> + +<p>Grigori Goronzy (1):</p> +<ul> + <li>radeon/uvd: disable VC-1 simple/main on UVD 2.x</li> +</ul> + +<p>Iago Toral Quiroga (1):</p> +<ul> + <li>mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.</li> +</ul> + +<p>Ian Romanick (3):</p> +<ul> + <li>docs: Add initial 10.2.1 release notes</li> + <li>docs: Add MD5 checksum, etc. for 10.2.1 release</li> + <li>meta: Respect the driver's maximum number of draw buffers</li> +</ul> + +<p>Ilia Mirkin (7):</p> +<ul> + <li>gk110/ir: emit saturate flag on fadd when needed</li> + <li>gk110/ir: fix emitting constbuf file index</li> + <li>gk110/ir: fix bfind emission</li> + <li>nv50: make sure to mark first scissor dirty after blit</li> + <li>nv30: plug some memory leaks on screen destroy and shader compile</li> + <li>nv30: avoid dangling references to deleted contexts</li> + <li>nv30: hack to avoid errors on unexpected color/zeta combinations</li> +</ul> + +<p>Jason Ekstrand (1):</p> +<ul> + <li>meta_blit: properly compute texture width for the CopyTexSubImage fallback</li> +</ul> + +<p>José Fonseca (1):</p> +<ul> + <li>mesa/main: Prevent sefgault on glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).</li> +</ul> + +<p>Kenneth Graunke (9):</p> +<ul> + <li>i965: Don't use the head sentinel as an fs_inst in Gen4 workaround code.</li> + <li>i965: Invalidate live intervals when inserting Gen4 SEND workarounds.</li> + <li>i965/vec4: Fix dead code elimination for VGRFs of size > 1.</li> + <li>i965: Add missing MOCS setup for 3DSTATE_INDEX_BUFFER on Broadwell.</li> + <li>i965: Drop Broadwell perf_debugs about missing MOCS that aren't missing.</li> + <li>i965: Add missing newlines to a few perf_debug messages.</li> + <li>i965/vec4: Use the sampler for pull constant loads on Broadwell.</li> + <li>i965: Use 8x4 aligned rectangles for HiZ operations on Broadwell.</li> + <li>i965: Save meta stencil blit programs in the context.</li> +</ul> + +<p>Kristian Høgsberg (1):</p> +<ul> + <li>mesa: Remove glClear optimization based on drawable size</li> +</ul> + +<p>Michel Dänzer (1):</p> +<ul> + <li>configure: Only check for OpenCL without LLVM when the latter is certain</li> +</ul> + +<p>Neil Roberts (1):</p> +<ul> + <li>i965: Set the fast clear color value for texture surfaces</li> +</ul> + +<p>Tom Stellard (2):</p> +<ul> + <li>clover: Prevent Clang from printing number of errors and warnings to stderr.</li> + <li>clover: Don't use llvm's global context</li> +</ul> + +<p>Ville Syrjälä (1):</p> +<ul> + <li>i915: Fix gen2 texblend setup</li> +</ul> + + +</div> +</body> +</html> commit a9750ff7b58409fc55092160b6706fbfa6564fda Author: Carl Worth <cwo...@cworth.org> Date: Tue Jun 24 21:26:25 2014 -0700 Update VERSION to 10.2.2 In preparation for the 10.2.2 release. diff --git a/VERSION b/VERSION index 26ee5b0..68e8fce 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -10.2.1 +10.2.2 commit 274be620a8be7786e0ab11fda9e47a04ca5e9efc Author: Ville Syrjälä <ville.syrj...@linux.intel.com> Date: Mon Jun 16 20:54:32 2014 +0300 i915: Fix gen2 texblend setup Fix an off by one in the texture unit walk during texblend setup on gen2. This caused the last enabled texunit to be skipped resulting in totally messed up texturing. This is a regression introduced here: commit 1ad443ecdd694dd9bf3c4a5050d749fb80db6fa2 Author: Eric Anholt <e...@anholt.net> Date: Wed Apr 23 15:35:27 2014 -0700 i915: Redo texture unit walking on i830. Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> Cc: "10.2" <mesa-sta...@lists.freedesktop.org> Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com> (cherry picked from commit ca55a1aaa78a79ed0bc4b2410d4a8b52ef05c5b2) diff --git a/src/mesa/drivers/dri/i915/i830_texblend.c b/src/mesa/drivers/dri/i915/i830_texblend.c index 6e991c4..236be59 100644 --- a/src/mesa/drivers/dri/i915/i830_texblend.c +++ b/src/mesa/drivers/dri/i915/i830_texblend.c @@ -445,7 +445,7 @@ i830EmitTextureBlend(struct i830_context *i830) I830_ACTIVESTATE(i830, I830_UPLOAD_TEXBLEND_ALL, false); if (ctx->Texture._MaxEnabledTexImageUnit != -1) { - for (unit = 0; unit < ctx->Texture._MaxEnabledTexImageUnit; unit++) + for (unit = 0; unit <= ctx->Texture._MaxEnabledTexImageUnit; unit++) if (ctx->Texture.Unit[unit]._Current) emit_texblend(i830, unit, blendunit++, unit == ctx->Texture._MaxEnabledTexImageUnit); commit 5751b661add600c520ece327c1198b179efbb731 Author: Kenneth Graunke <kenn...@whitecape.org> Date: Wed Jun 18 22:25:33 2014 -0700 i965: Save meta stencil blit programs in the context. When the last context in a share group is destroyed, the hash table containing all of the shader programs (ctx->Shared->ShaderObjects) is destroyed, throwing away all of the shader programs. Using a static variable to store program IDs ends up holding on to them after this, so we think we still have a compiled program, when it actually got destroyed. _mesa_UseProgram then hits GL errors, since no program by that ID exists. Instead, store the program IDs in the context, so we know to recompile if our context gets destroyed and the application creates another one. Fixes es3conform tests when run without -minfmt (where it creates separate contexts for testing each visual). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77865 Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> Reviewed-by: Eric Anholt <e...@anholt.net> Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> Cc: "10.2" <mesa-sta...@lists.freedesktop.org> (cherry picked from commit a20994d61677adea7f15facbc6bb025f32b37c93) Conflicts: src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index a9adbf2..f54cadc 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -1115,6 +1115,9 @@ struct brw_context struct brw_cache cache; + /** IDs for meta stencil blit shader programs. */ + unsigned meta_stencil_blit_programs[2]; + /* Whether a meta-operation is in progress. */ bool meta_in_progress; diff --git a/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c b/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c index 842ebf9..021f485 100644 --- a/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c +++ b/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c @@ -272,28 +272,30 @@ setup_coord_transform(GLuint prog, const struct blit_dims *dims) } static GLuint -setup_program(struct gl_context *ctx, bool msaa_tex) +setup_program(struct brw_context *brw, bool msaa_tex) { + struct gl_context *ctx = &brw->ctx; struct blit_state *blit = &ctx->Meta->Blit; - static GLuint prog_cache[] = { 0, 0 }; const char *fs_source; const struct sampler_and_fetch *sampler = &samplers[msaa_tex]; _mesa_meta_setup_vertex_objects(&blit->VAO, &blit->VBO, true, 2, 2, 0); - if (prog_cache[msaa_tex]) { - _mesa_UseProgram(prog_cache[msaa_tex]); - return prog_cache[msaa_tex]; + GLuint *prog_id = &brw->meta_stencil_blit_programs[msaa_tex]; + + if (*prog_id) { + _mesa_UseProgram(*prog_id); + return *prog_id; } fs_source = ralloc_asprintf(NULL, fs_tmpl, sampler->sampler, sampler->fetch); _mesa_meta_compile_and_link_program(ctx, vs_source, fs_source, "i965 stencil blit", - &prog_cache[msaa_tex]); + prog_id); ralloc_free(fs_source); - return prog_cache[msaa_tex]; + return *prog_id; } /** @@ -427,7 +429,7 @@ brw_meta_stencil_blit(struct brw_context *brw, _mesa_TexParameteri(target, GL_DEPTH_STENCIL_TEXTURE_MODE, GL_STENCIL_INDEX); - prog = setup_program(ctx, target != GL_TEXTURE_2D); + prog = setup_program(brw, target != GL_TEXTURE_2D); setup_bounding_rect(prog, orig_dims); setup_drawing_rect(prog, &dims); setup_coord_transform(prog, orig_dims); commit 282ca8ba98802c3275b04e1253d30f5dbca5add9 Author: Daniel Manjarres <danm...@gmail.com> Date: Fri Jun 20 10:51:33 2014 -0700 glx: Don't crash on swap event for a Window (non-GLXWindow) Prior to GLX 1.3 there was the glxMakeCurrent() function that took a single drawable handle. The Drawable could be either a bare XID for a Window or an XID for a glxpixmap. GLX 1.3 added glxMakeContextCurrent that takes 2 handles: one for reading, one for writing. Nowadays the old glxMakeCurrent call is implemented as a call to glxMakeContextCurrent with the single handle duplicated. Because of this it is allowed to use a plain-old Window ID as an argument to glxMakeContextCurrent, although nobody really documents this sort of thing. The manpage for the NEW call specifies the arguments as GLXPixmaps, but the actual code accepts Window XIDs too, and handles them correctly. Similarly, the glxSelectEvents function can also take a bare Window XID. The "piglit" tests all use GLXWindows and/or GLXPixmaps. You never tested swap events with a bare Window XID. That is what my app was doing. The swap_events code worked with Window XIDs in mesa 7.x.y. The new code added in versions 8, 9, and 10 assumes that all buffer swap events have a GLXPixmap associated with them. Because of the historical quirks above, this is not true. Swap events for bare Window XIDs do NOT have a glxpixmap resulting in a segfault. Any app that uses the old school glxMakeCurrent call with a Window XID while trying to use swap_events will crash when the libs try to lookup the nonexistent GLXPixmap associated with the incoming swap event. I believe that the people who wrote the spec overlooked this, because the "sbc" field comes from the OML_sync extension that is defined in terms of glxpixmaps only. v2 (idr): Formatting changes. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54372 Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> Acked-by: Jesse Barnes <jbar...@virtuousgeek.org> Cc: "10.1 10.2" <mesa-sta...@lists.freedesktop.org> (cherry picked from commit 86bd2196b4ccec50443e99e6c8bf1659e1df9f37) diff --git a/src/glx/dri2.c b/src/glx/dri2.c index 7cb9d2d..cc6c164 100644 --- a/src/glx/dri2.c +++ b/src/glx/dri2.c @@ -131,10 +131,14 @@ DRI2WireToEvent(Display *dpy, XEvent *event, xEvent *wire) aevent->msc = ((CARD64)awire->msc_hi << 32) | awire->msc_lo; glxDraw = GetGLXDrawable(dpy, pdraw->drawable); - if (awire->sbc < glxDraw->lastEventSbc) - glxDraw->eventSbcWrap += 0x100000000; - glxDraw->lastEventSbc = awire->sbc; - aevent->sbc = awire->sbc + glxDraw->eventSbcWrap; + if (glxDraw != NULL) { + if (awire->sbc < glxDraw->lastEventSbc) + glxDraw->eventSbcWrap += 0x100000000; + glxDraw->lastEventSbc = awire->sbc; + aevent->sbc = awire->sbc + glxDraw->eventSbcWrap; + } else { + aevent->sbc = awire->sbc; + } return True; } commit c50fa76c7e7977fc1767881c5007ece1bc8cf03e Author: Iago Toral Quiroga <ito...@igalia.com> Date: Mon Jun 16 17:00:15 2014 +0200 mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program. Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> Cc: "10.1 10.2" <mesa-sta...@lists.freedesktop.org> (cherry picked from commit 96a95f48eaf8af2c6ace51531bdd5bfbcf71165e) diff --git a/src/mesa/program/program.c b/src/mesa/program/program.c index b7332fc..988def1 100644 --- a/src/mesa/program/program.c +++ b/src/mesa/program/program.c @@ -552,6 +552,7 @@ _mesa_clone_program(struct gl_context *ctx, const struct gl_program *prog) gpc->InputType = gp->InputType; gpc->Invocations = gp->Invocations; gpc->OutputType = gp->OutputType; + gpc->UsesEndPrimitive = gp->UsesEndPrimitive; } break; default: commit ad9264366a996dfa019525629e7438af5b62ec42 Author: Tom Stellard <thomas.stell...@amd.com> Date: Tue Jun 17 08:12:06 2014 -0700 clover: Don't use llvm's global context An LLVMContext should only be accessed by a single and using the global context was causing crashes in multi-threaded environments. Now we use a separate context for each compile. Reviewed-by: Francisco Jerez <curroje...@riseup.net> CC: "10.1 10.2" <mesa-sta...@lists.freedesktop.org> (cherry picked from commit 4aa128a123d7285677a527e724809339f15d33a7) diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp index 0148721..c3daa81 100644 --- a/src/gallium/state_trackers/clover/llvm/invocation.cpp +++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp @@ -117,12 +117,13 @@ namespace { #endif llvm::Module * - compile(const std::string &source, const std::string &name, - const std::string &triple, const std::string &processor, - const std::string &opts, clang::LangAS::Map& address_spaces) { + compile(llvm::LLVMContext &llvm_ctx, const std::string &source, + const std::string &name, const std::string &triple, + const std::string &processor, const std::string &opts, + clang::LangAS::Map& address_spaces) { clang::CompilerInstance c; - clang::EmitLLVMOnlyAction act(&llvm::getGlobalContext()); + clang::EmitLLVMOnlyAction act(&llvm_ctx); std::string log; llvm::raw_string_ostream s_log(log); std::string libclc_path = LIBCLC_LIBEXECDIR + processor + "-" @@ -399,10 +400,12 @@ clover::compile_program_llvm(const compat::string &source, target.size() - processor_str_len - 1); clang::LangAS::Map address_spaces; + llvm::LLVMContext llvm_ctx; + // The input file name must have the .cl extension in order for the // CompilerInvocation class to recognize it as an OpenCL source file. - llvm::Module *mod = compile(source, "input.cl", triple, processor, opts, - address_spaces); + llvm::Module *mod = compile(llvm_ctx, source, "input.cl", triple, processor, + opts, address_spaces); find_kernels(mod, kernels); commit 855adad13229d8e5c7da9bcb04b819009d34cb21 Author: Tom Stellard <thomas.stell...@amd.com> Date: Mon May 12 16:32:29 2014 -0400 clover: Prevent Clang from printing number of errors and warnings to stderr. https://bugs.freedesktop.org/show_bug.cgi?id=78581 CC: "10.1 10.2" <mesa-sta...@lists.freedesktop.org> (cherry picked from commit 0cc391f0136c1532701a04c9b2f3a4cc49f25e8c) diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp index 82e262f..0148721 100644 --- a/src/gallium/state_trackers/clover/llvm/invocation.cpp +++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp @@ -187,6 +187,11 @@ namespace { c.getLangOpts().NoBuiltin = true; c.getTargetOpts().Triple = triple; c.getTargetOpts().CPU = processor; + + // This is a workaround for a Clang bug which causes the number + // of warnings and errors to be printed to stderr. + // http://www.llvm.org/bugs/show_bug.cgi?id=19735 + c.getDiagnosticOpts().ShowCarets = false; #if HAVE_LLVM <= 0x0301 c.getInvocation().setLangDefaults(clang::IK_OpenCL); #else commit 3568cf8128a28f8c860fa2a4c5bbf75c2e090c7e Author: Ilia Mirkin <imir...@alum.mit.edu> Date: Tue Jun 17 23:28:56 2014 -0400 nv30: hack to avoid errors on unexpected color/zeta combinations This is just a hack, it should be possible to create a temporary zeta surface and render to that instead. However that's more complicated and this avoids the render being entirely broken and errors being reported by the card. Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> Cc: "10.2" <mesa-sta...@lists.freedesktop.org> (cherry picked from commit 25182e249e50b0fce41d975ae2b3c9cbdb8d0ef3) diff --git a/src/gallium/drivers/nouveau/nv30/nv30_state.c b/src/gallium/drivers/nouveau/nv30/nv30_state.c index 64be1b7..708ba34 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_state.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_state.c @@ -23,6 +23,7 @@ * */ +#include "util/u_format.h" #include "util/u_helpers.h" #include "util/u_inlines.h" @@ -360,6 +361,22 @@ nv30_set_framebuffer_state(struct pipe_context *pipe, nv30->framebuffer = *fb; nv30->dirty |= NV30_NEW_FRAMEBUFFER; + + /* Hardware can't handle different swizzled-ness or different blocksizes + * for zs and cbufs. If both are supplied and something doesn't match, + * blank out the zs for now so that at least *some* rendering can occur. + */ + if (fb->nr_cbufs > 0 && fb->zsbuf) { + struct nv30_miptree *color_mt = nv30_miptree(fb->cbufs[0]->texture); + struct nv30_miptree *zeta_mt = nv30_miptree(fb->zsbuf->texture); + + if (color_mt->swizzled != zeta_mt->swizzled || + (util_format_get_blocksize(fb->zsbuf->format) > 2) != + (util_format_get_blocksize(fb->cbufs[0]->format) > 2)) { + nv30->framebuffer.zsbuf = NULL; + debug_printf("Mismatched color and zeta formats, ignoring zeta.\n"); + } + } } static void commit aca2d98c35b795bd7124527bd320e0d10adcf658 Author: Ilia Mirkin <imir...@alum.mit.edu> Date: Tue Jun 17 22:32:03 2014 -0400 nv30: avoid dangling references to deleted contexts Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> Cc: "10.2" <mesa-sta...@lists.freedesktop.org> (cherry picked from commit c092c46b27c6f6a6674e8d67fb3afdb684811819) diff --git a/src/gallium/drivers/nouveau/nv30/nv30_context.c b/src/gallium/drivers/nouveau/nv30/nv30_context.c index f325c5c..617b088 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_context.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_context.c @@ -165,6 +165,9 @@ nv30_context_destroy(struct pipe_context *pipe) if (nv30->draw) draw_destroy(nv30->draw); + if (nv30->screen->base.pushbuf->user_priv == &nv30->bufctx) + nv30->screen->base.pushbuf->user_priv = NULL; + nouveau_bufctx_del(&nv30->bufctx); if (nv30->screen->cur_ctx == nv30) commit 08317fa9c4183e051d16f65eead742a39fd83014 Author: Ilia Mirkin <imir...@alum.mit.edu> Date: Tue Jun 17 22:22:56 2014 -0400 nv30: plug some memory leaks on screen destroy and shader compile Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> Cc: "10.2" <mesa-sta...@lists.freedesktop.org> (cherry picked from commit 5af80f62680b8321c3af565bb57138a71429502c) diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c index 53ca985..4d0b263 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c @@ -325,6 +325,12 @@ nv30_screen_destroy(struct pipe_screen *pscreen) nouveau_fence_ref(NULL, &screen->base.fence.current); } + nouveau_bo_ref(NULL, &screen->notify); + + nouveau_heap_destroy(&screen->query_heap); + nouveau_heap_destroy(&screen->vp_exec_heap); + nouveau_heap_destroy(&screen->vp_data_heap); + nouveau_object_del(&screen->query); nouveau_object_del(&screen->fence); nouveau_object_del(&screen->ntfy); diff --git a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c index 4955226..1f1fba2 100644 --- a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c +++ b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c @@ -1225,6 +1225,7 @@ out: if(fpc) { FREE(fpc->r_temp); + FREE(fpc->r_imm); util_dynarray_fini(&fpc->if_stack); util_dynarray_fini(&fpc->label_relocs); util_dynarray_fini(&fpc->imm_data); commit 4d0c445af6e600be6912da6bbaecc8c1642ed56c Author: Ian Romanick <ian.d.roman...@intel.com> Date: Tue Jun 17 11:14:17 2014 -0700 meta: Respect the driver's maximum number of draw buffers Commit c1c1cf5f9 added infrastructure for saving and restoring draw buffer state. However, it universially used MAX_DRAW_BUFFERS, but many drivers support far fewer than that at limit. For example, the radeon and i915 drivers only support 1. Using MAX_DRAW_BUFFERS causes meta to generate GL errors. Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80115 Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> Tested-by: Kenneth Graunke <kenn...@whitecape.org> [on Broadwell] Tested-by: jpsinthe...@verizon.net -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1x2dfl-0002bq...@moszumanska.debian.org