mesa: Changes to 'ubuntu'
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.lankhorst@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.lankhorst@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.lankhorst@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.dev@gmail.com> Wed, 02 Jul 2014 18:00:52 +0200
+ -- Maarten Lankhorst <maarten.lankhorst@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.dev@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.dev@gmail.com> Wed, 02 Jul 2014 18:00:52 +0200
commit 9dd43892337893f3fb28a269afd59149ddecbfb7
Author: Jasper St. Pierre <jstpierre@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 <jstpierre@mecheye.net>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@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.dev@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.dev@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.dev@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.velikov@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 <thellstrom@vmware.com> (v1)
-Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
-(cherry picked from commit a75baba2f14a2bcdaf640aeef86d67b41bb2a76f)
-Signed-off-by: Andreas Boll <andreas.boll.dev@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.dev@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.dev@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 <cworth@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 <cworth@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.syrjala@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 <eric@anholt.net>
Date: Wed Apr 23 15:35:27 2014 -0700
i915: Redo texture unit walking on i830.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Ville Syrjälä <ville.syrjala@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 <kenneth@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 <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: "10.2" <mesa-stable@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 <danmanj@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.romanick@intel.com>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: "10.1 10.2" <mesa-stable@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 <itoral@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.romanick@intel.com>
Cc: "10.1 10.2" <mesa-stable@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.stellard@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 <currojerez@riseup.net>
CC: "10.1 10.2" <mesa-stable@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.stellard@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-stable@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 <imirkin@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 <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@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 <imirkin@alum.mit.edu>
Date: Tue Jun 17 22:32:03 2014 -0400
nv30: avoid dangling references to deleted contexts
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@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 <imirkin@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 <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@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.romanick@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.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80115
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Kenneth Graunke <kenneth@whitecape.org> [on Broadwell]
Tested-by: jpsinthemix@verizon.net
Reply to: