mesa: Changes to 'ubuntu'
Makefile.am | 2
bin/.cherry-ignore | 6
configure.ac | 19
debian/changelog | 22
debian/patches/0001-nv50-fix-3D-render-target-setup.patch | 56 -
debian/patches/0002-nv50-nvc0-disable-DEPTH_RANGE_NEAR-FAR-clipping-duri.patch | 56 -
debian/patches/0003-nv50-nvc0-fix-3d-blits-restore-viewport-after-blit.patch | 139 ---
debian/patches/0004-nvc0-fix-for-2d-engine-R-source-formats-writing-RRR1.patch | 407 ----------
debian/patches/02_use-ieee-fp-on-s390-and-m68k.patch | 21
debian/patches/10-hurd-configure-tweaks.diff | 14
debian/patches/100_no_abi_tag.patch | 44 -
debian/patches/117-static-gallium.patch | 17
debian/patches/119-libllvmradeon-link.patch | 9
debian/patches/14-fix-osmesa-build.diff | 10
debian/patches/15-fix-oot-build.diff | 13
debian/patches/16-avoid-symbols-from-static-llvm.diff | 90 --
debian/patches/series | 13
debian/patches/vbo-fix-crash.diff | 29
debian/rules | 5
docs/relnotes-9.1.1.html | 3
docs/relnotes-9.1.2.html | 235 +++++
include/c99_compat.h | 147 +++
src/egl/main/eglcompiler.h | 44 -
src/gallium/auxiliary/Makefile.am | 7
src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 1
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 20
src/gallium/auxiliary/tgsi/tgsi_text.c | 2
src/gallium/drivers/Makefile.am | 1
src/gallium/drivers/llvmpipe/lp_scene.c | 22
src/gallium/drivers/llvmpipe/lp_scene.h | 10
src/gallium/drivers/nv50/nv50_blit.h | 40
src/gallium/drivers/nv50/nv50_state_validate.c | 12
src/gallium/drivers/nv50/nv50_surface.c | 77 +
src/gallium/drivers/nvc0/nvc0_3d.xml.h | 2
src/gallium/drivers/nvc0/nvc0_surface.c | 123 ++-
src/gallium/drivers/r300/compiler/radeon_optimize.c | 4
src/gallium/drivers/r600/r600_pipe.c | 2
src/gallium/drivers/r600/r600_query.c | 5
src/gallium/drivers/radeon/Makefile.am | 4
src/gallium/drivers/radeonsi/si_state_draw.c | 5
src/gallium/drivers/rbug/Makefile.am | 1
src/gallium/drivers/svga/Makefile.am | 2
src/gallium/drivers/trace/Makefile.am | 3
src/gallium/include/pipe/p_compiler.h | 74 -
src/gallium/state_trackers/egl/Makefile.am | 2
src/gallium/state_trackers/xa/Makefile.am | 4
src/gallium/winsys/svga/drm/Makefile.am | 2
src/glsl/glsl_types.cpp | 2
src/glsl/ir_validate.cpp | 6
src/glsl/linker.cpp | 2
src/glx/Makefile.am | 1
src/mapi/glapi/gen/gl_x86-64_asm.py | 13
src/mapi/glapi/gen/gl_x86_asm.py | 13
src/mapi/mapi/entry_x86-64_tls.h | 13
src/mapi/mapi/entry_x86_tls.h | 13
src/mapi/mapi/u_compiler.h | 26
src/mesa/drivers/dri/i965/brw_clear.c | 6
src/mesa/drivers/dri/i965/brw_defines.h | 39
src/mesa/drivers/dri/i965/brw_eu_emit.c | 15
src/mesa/drivers/dri/i965/brw_fs.cpp | 26
src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp | 54 -
src/mesa/drivers/dri/i965/brw_state.h | 2
src/mesa/drivers/dri/i965/brw_vs.c | 8
src/mesa/drivers/dri/i965/brw_vs_surface_state.c | 5
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 8
src/mesa/drivers/dri/i965/gen6_cc.c | 2
src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 40
src/mesa/drivers/dri/intel/intel_screen.c | 2
src/mesa/drivers/dri/nouveau/nv10_context.c | 2
src/mesa/drivers/osmesa/Makefile.am | 1
src/mesa/main/compiler.h | 59 -
src/mesa/main/fbobject.c | 4
src/mesa/main/get.c | 12
src/mesa/main/get_hash_params.py | 2
src/mesa/main/mtypes.h | 1
src/mesa/main/samplerobj.c | 12
src/mesa/main/samplerobj.h | 2
src/mesa/main/tests/hash_table/Makefile.am | 1
src/mesa/main/texgetimage.c | 1
src/mesa/main/teximage.c | 23
src/mesa/main/texparam.c | 12
src/mesa/main/texstorage.c | 1
src/mesa/main/version.h | 4
src/mesa/vbo/vbo_save_draw.c | 2
84 files changed, 951 insertions(+), 1310 deletions(-)
New commits:
commit 2bfae0f16f06aa812e0fabf12cde50cbdb3caf15
Author: Robert Hooker <sarvatt@ubuntu.com>
Date: Wed May 1 16:56:13 2013 -0400
debian/changelog: Mark as UNRELEASED, whoops
diff --git a/debian/changelog b/debian/changelog
index 2d234d3..2c839cd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-mesa (9.1.2-0ubuntu1) saucy; urgency=low
+mesa (9.1.2-0ubuntu1) UNRELEASED; urgency=low
* New upstream bug-fix release.
* Drop upstream patches:
commit 8190e3a6530c3c34ba00055e5b51f3db16221821
Author: Robert Hooker <sarvatt@ubuntu.com>
Date: Wed May 1 16:55:06 2013 -0400
debian/patches/117-static-gallium.patch: Refresh
diff --git a/debian/changelog b/debian/changelog
index 344c837..2d234d3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,8 @@ mesa (9.1.2-0ubuntu1) saucy; urgency=low
- 100_no_abi_tag.patch
- 119-libllvmradeon-link.patch
- vbo-fix-crash.diff
+ * debian/patches/117-static-gallium.patch: Refresh for minor change
+ in 9.1.2
-- Robert Hooker <sarvatt@ubuntu.com> Wed, 01 May 2013 16:40:16 -0400
diff --git a/debian/patches/117-static-gallium.patch b/debian/patches/117-static-gallium.patch
index ab72546..939cb73 100644
--- a/debian/patches/117-static-gallium.patch
+++ b/debian/patches/117-static-gallium.patch
@@ -1,6 +1,8 @@
+diff --git a/configure.ac b/configure.ac
+index b9fcb0b..be89843 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -733,6 +733,19 @@
+@@ -747,6 +747,19 @@ if test "x$enable_shared_glapi" = xyes; then
fi
AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
@@ -20,9 +22,11 @@
dnl
dnl Driver specific build directories
dnl
+diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
+index f14279b..3cdec83 100644
--- a/src/gallium/auxiliary/Makefile.am
+++ b/src/gallium/auxiliary/Makefile.am
-@@ -3,13 +3,19 @@
+@@ -3,14 +3,19 @@ AUTOMAKE_OPTIONS = subdir-objects
include Makefile.sources
include $(top_srcdir)/src/gallium/Automake.inc
@@ -30,12 +34,13 @@
-
AM_CFLAGS = \
-I$(top_srcdir)/src/gallium/auxiliary/util \
-- $(GALLIUM_CFLAGS) $(VISIBILITY_CFLAGS)
+- $(GALLIUM_CFLAGS) \
+- $(VISIBILITY_CFLAGS)
+ $(GALLIUM_CFLAGS)
-+
-+AM_CXXFLAGS =
-AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
++AM_CXXFLAGS =
++
+if HAVE_SHARED_GALLIUM
+lib_LTLIBRARIES = libgallium.la
+else
@@ -46,7 +51,7 @@
libgallium_la_SOURCES = \
$(C_SOURCES) \
-@@ -28,6 +34,8 @@
+@@ -29,6 +34,8 @@ if LLVM_NEEDS_FNORTTI
AM_CXXFLAGS += -fno-rtti
commit b6fef34a7d2af42f299d03de1d86c202c7c478c7
Author: Robert Hooker <sarvatt@ubuntu.com>
Date: Wed May 1 16:49:31 2013 -0400
debian/patches: Drop upstreamed patches
diff --git a/debian/changelog b/debian/changelog
index 9eb2fb8..344c837 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,14 @@
mesa (9.1.2-0ubuntu1) saucy; urgency=low
* New upstream bug-fix release.
+ * Drop upstream patches:
+ - 0001-nv50-fix-3D-render-target-setup.patch
+ - 0002-nv50-nvc0-disable-DEPTH_RANGE_NEAR-FAR-clipping-duri.patch
+ - 0003-nv50-nvc0-fix-3d-blits-restore-viewport-after-blit.patch
+ - 0004-nvc0-fix-for-2d-engine-R-source-formats-writing-RRR1.patch
+ - 100_no_abi_tag.patch
+ - 119-libllvmradeon-link.patch
+ - vbo-fix-crash.diff
-- Robert Hooker <sarvatt@ubuntu.com> Wed, 01 May 2013 16:40:16 -0400
diff --git a/debian/patches/0001-nv50-fix-3D-render-target-setup.patch b/debian/patches/0001-nv50-fix-3D-render-target-setup.patch
deleted file mode 100644
index a02be67..0000000
--- a/debian/patches/0001-nv50-fix-3D-render-target-setup.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 7410ba12657fa3652d05c99d44eda68231b9c100 Mon Sep 17 00:00:00 2001
-From: Christoph Bumiller <e0425955@student.tuwien.ac.at>
-Date: Mon, 25 Mar 2013 19:41:18 +0100
-Subject: [PATCH 1/4] nv50: fix 3D render target setup
-
----
- src/gallium/drivers/nv50/nv50_state_validate.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/src/gallium/drivers/nv50/nv50_state_validate.c b/src/gallium/drivers/nv50/nv50_state_validate.c
-index a95e96d..f5e7b36 100644
---- a/src/gallium/drivers/nv50/nv50_state_validate.c
-+++ b/src/gallium/drivers/nv50/nv50_state_validate.c
-@@ -9,6 +9,7 @@ nv50_validate_fb(struct nv50_context *nv50)
- struct pipe_framebuffer_state *fb = &nv50->framebuffer;
- unsigned i;
- unsigned ms_mode = NV50_3D_MULTISAMPLE_MODE_MS1;
-+ uint32_t array_size = 0xffff, array_mode = 0;
-
- nouveau_bufctx_reset(nv50->bufctx_3d, NV50_BIND_FB);
-
-@@ -23,6 +24,13 @@ nv50_validate_fb(struct nv50_context *nv50)
- struct nv50_surface *sf = nv50_surface(fb->cbufs[i]);
- struct nouveau_bo *bo = mt->base.bo;
-
-+ array_size = MIN2(array_size, sf->depth);
-+ if (mt->layout_3d)
-+ array_mode = NV50_3D_RT_ARRAY_MODE_MODE_3D; /* 1 << 16 */
-+
-+ /* can't mix 3D with ARRAY or have RTs of different depth/array_size */
-+ assert(mt->layout_3d || !array_mode || array_size == 1);
-+
- BEGIN_NV04(push, NV50_3D(RT_ADDRESS_HIGH(i)), 5);
- PUSH_DATAh(push, bo->offset + sf->offset);
- PUSH_DATA (push, bo->offset + sf->offset);
-@@ -34,7 +42,7 @@ nv50_validate_fb(struct nv50_context *nv50)
- PUSH_DATA (push, sf->width);
- PUSH_DATA (push, sf->height);
- BEGIN_NV04(push, NV50_3D(RT_ARRAY_MODE), 1);
-- PUSH_DATA (push, sf->depth);
-+ PUSH_DATA (push, array_mode | array_size);
- } else {
- PUSH_DATA (push, 0);
- PUSH_DATA (push, 0);
-@@ -63,7 +71,7 @@ nv50_validate_fb(struct nv50_context *nv50)
- struct nv50_miptree *mt = nv50_miptree(fb->zsbuf->texture);
- struct nv50_surface *sf = nv50_surface(fb->zsbuf);
- struct nouveau_bo *bo = mt->base.bo;
-- int unk = mt->base.base.target == PIPE_TEXTURE_2D;
-+ int unk = mt->base.base.target == PIPE_TEXTURE_3D || sf->depth == 1;
-
- BEGIN_NV04(push, NV50_3D(ZETA_ADDRESS_HIGH), 5);
- PUSH_DATAh(push, bo->offset + sf->offset);
---
-1.8.2
-
diff --git a/debian/patches/0002-nv50-nvc0-disable-DEPTH_RANGE_NEAR-FAR-clipping-duri.patch b/debian/patches/0002-nv50-nvc0-disable-DEPTH_RANGE_NEAR-FAR-clipping-duri.patch
deleted file mode 100644
index 3b04386..0000000
--- a/debian/patches/0002-nv50-nvc0-disable-DEPTH_RANGE_NEAR-FAR-clipping-duri.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 5ba62ee2011b44e8a40bab6435a8edaf03cda612 Mon Sep 17 00:00:00 2001
-From: Christoph Bumiller <e0425955@student.tuwien.ac.at>
-Date: Sun, 31 Mar 2013 22:10:02 +0200
-Subject: [PATCH 2/4] nv50,nvc0: disable DEPTH_RANGE_NEAR/FAR clipping during
- blit
-
-We send position.z == 0, DEPTH_RANGE may be some arbitrary range
-not including 0 (for exmaple in piglit's hiz tests).
----
- src/gallium/drivers/nv50/nv50_surface.c | 2 ++
- src/gallium/drivers/nvc0/nvc0_3d.xml.h | 2 +-
- src/gallium/drivers/nvc0/nvc0_surface.c | 2 ++
- 3 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c
-index 7a0470c..b1b5cb3 100644
---- a/src/gallium/drivers/nv50/nv50_surface.c
-+++ b/src/gallium/drivers/nv50/nv50_surface.c
-@@ -977,6 +977,8 @@ nv50_blit_3d(struct nv50_context *nv50, const struct pipe_blit_info *info)
-
- BEGIN_NV04(push, NV50_3D(VIEWPORT_TRANSFORM_EN), 1);
- PUSH_DATA (push, 0);
-+ BEGIN_NV04(push, NV50_3D(VIEW_VOLUME_CLIP_CTRL), 1);
-+ PUSH_DATA (push, 0x1);
-
- /* Draw a large triangle in screen coordinates covering the whole
- * render target, with scissors defining the destination region.
-diff --git a/src/gallium/drivers/nvc0/nvc0_3d.xml.h b/src/gallium/drivers/nvc0/nvc0_3d.xml.h
-index 1cf1f96..bd3de58 100644
---- a/src/gallium/drivers/nvc0/nvc0_3d.xml.h
-+++ b/src/gallium/drivers/nvc0/nvc0_3d.xml.h
-@@ -1041,7 +1041,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #define NVC0_3D_VIEWPORT_TRANSFORM_EN 0x0000192c
-
- #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL 0x0000193c
--#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK0 0x00000001
-+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_RANGE_0_1 0x00000001
- #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__MASK 0x00000006
- #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__SHIFT 1
- #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK0 0x00000000
-diff --git a/src/gallium/drivers/nvc0/nvc0_surface.c b/src/gallium/drivers/nvc0/nvc0_surface.c
-index 281d740..94ac241 100644
---- a/src/gallium/drivers/nvc0/nvc0_surface.c
-+++ b/src/gallium/drivers/nvc0/nvc0_surface.c
-@@ -859,6 +859,8 @@ nvc0_blit_3d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
- z += 0.5f * dz;
-
- IMMED_NVC0(push, NVC0_3D(VIEWPORT_TRANSFORM_EN), 0);
-+ IMMED_NVC0(push, NVC0_3D(VIEW_VOLUME_CLIP_CTRL), 0x2 |
-+ NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_RANGE_0_1);
- BEGIN_NVC0(push, NVC0_3D(VIEWPORT_HORIZ(0)), 2);
- PUSH_DATA (push, nvc0->framebuffer.width << 16);
- PUSH_DATA (push, nvc0->framebuffer.height << 16);
---
-1.8.2
-
diff --git a/debian/patches/0003-nv50-nvc0-fix-3d-blits-restore-viewport-after-blit.patch b/debian/patches/0003-nv50-nvc0-fix-3d-blits-restore-viewport-after-blit.patch
deleted file mode 100644
index fcf2118..0000000
--- a/debian/patches/0003-nv50-nvc0-fix-3d-blits-restore-viewport-after-blit.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From ac4be462795590019c262161f6147f6108e796ff Mon Sep 17 00:00:00 2001
-From: Christoph Bumiller <e0425955@student.tuwien.ac.at>
-Date: Fri, 22 Mar 2013 13:49:40 +0100
-Subject: [PATCH 3/4] nv50,nvc0: fix 3d blits, restore viewport after blit
-
-Conflicts:
- src/gallium/drivers/nvc0/nvc0_surface.c
----
- src/gallium/drivers/nv50/nv50_surface.c | 8 +++++--
- src/gallium/drivers/nvc0/nvc0_surface.c | 42 ++++++++++++++++++++-------------
- 2 files changed, 32 insertions(+), 18 deletions(-)
-
-diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c
-index b1b5cb3..16f77cd 100644
---- a/src/gallium/drivers/nv50/nv50_surface.c
-+++ b/src/gallium/drivers/nv50/nv50_surface.c
-@@ -936,7 +936,7 @@ nv50_blit_3d(struct nv50_context *nv50, const struct pipe_blit_info *info)
- nv50_blit_select_fp(blit, info);
- nv50_blitctx_pre_blit(blit);
-
-- nv50_blit_set_dst(blit, dst, info->dst.level, 0, info->dst.format);
-+ nv50_blit_set_dst(blit, dst, info->dst.level, -1, info->dst.format);
- nv50_blit_set_src(blit, src, info->src.level, -1, info->src.format,
- blit->filter);
-
-@@ -1226,10 +1226,14 @@ nv50_blit(struct pipe_context *pipe, const struct pipe_blit_info *info)
- debug_printf("blit: cannot filter array or cube textures in z direction");
- }
-
-- if (!eng3d && info->dst.format != info->src.format)
-+ if (!eng3d && info->dst.format != info->src.format) {
- if (!nv50_2d_format_faithful(info->dst.format) ||
- !nv50_2d_format_faithful(info->src.format))
- eng3d = TRUE;
-+ if (info->dst.format == PIPE_FORMAT_R8_UNORM ||
-+ info->dst.format == PIPE_FORMAT_R16_UNORM)
-+ eng3d = TRUE;
-+ }
-
- if (info->src.resource->nr_samples == 8 &&
- info->dst.resource->nr_samples <= 1)
-diff --git a/src/gallium/drivers/nvc0/nvc0_surface.c b/src/gallium/drivers/nvc0/nvc0_surface.c
-index 94ac241..80f6f6f 100644
---- a/src/gallium/drivers/nvc0/nvc0_surface.c
-+++ b/src/gallium/drivers/nvc0/nvc0_surface.c
-@@ -490,19 +490,19 @@ nvc0_blitter_make_vp(struct nvc0_blitter *blit)
- {
- static const uint32_t code_nvc0[] =
- {
-- 0xfff01c66, 0x06000080, /* vfetch b128 { $r0 $r1 $r2 $r3 } a[0x80] */
-- 0xfff11c26, 0x06000090, /* vfetch b96 { $r4 $r5 $r6 } a[0x90]*/
-- 0x03f01c66, 0x0a7e0070, /* export b128 o[0x70] { $r0 $r1 $r2 $r3 } */
-- 0x13f01c26, 0x0a7e0080, /* export b96 o[0x80] { $r4 $r5 $r6 } */
-+ 0xfff11c26, 0x06000080, /* vfetch b64 $r4:$r5 a[0x80] */
-+ 0xfff01c46, 0x06000090, /* vfetch b96 $r0:$r1:$r2 a[0x90] */
-+ 0x13f01c26, 0x0a7e0070, /* export b64 o[0x70] $r4:$r5 */
-+ 0x03f01c46, 0x0a7e0080, /* export b96 o[0x80] $r0:$r1:$r2 */
- 0x00001de7, 0x80000000, /* exit */
- };
- static const uint32_t code_nve4[] =
- {
- 0x00000007, 0x20000000, /* sched */
-- 0xfff01c66, 0x06000080, /* vfetch b128 { $r0 $r1 $r2 $r3 } a[0x80] */
-- 0xfff11c46, 0x06000090, /* vfetch b96 { $r4 $r5 $r6 } a[0x90]*/
-- 0x03f01c66, 0x0a7e0070, /* export b128 o[0x70] { $r0 $r1 $r2 $r3 } */
-- 0x13f01c46, 0x0a7e0080, /* export b96 o[0x80] { $r4 $r5 $r6 } */
-+ 0xfff11c26, 0x06000080, /* vfetch b64 $r4:$r5 a[0x80] */
-+ 0xfff01c46, 0x06000090, /* vfetch b96 $r0:$r1:$r2 a[0x90] */
-+ 0x13f01c26, 0x0a7e0070, /* export b64 o[0x70] $r4:$r5 */
-+ 0x03f01c46, 0x0a7e0080, /* export b96 o[0x80] $r0:$r1:$r2 */
- 0x00001de7, 0x80000000, /* exit */
- };
-
-@@ -515,13 +515,13 @@ nvc0_blitter_make_vp(struct nvc0_blitter *blit)
- blit->vp.code = (uint32_t *)code_nvc0; /* const_cast */
- blit->vp.code_size = sizeof(code_nvc0);
- }
-- blit->vp.max_gpr = 7;
-+ blit->vp.max_gpr = 6;
- blit->vp.vp.edgeflag = PIPE_MAX_ATTRIBS;
-
- blit->vp.hdr[0] = 0x00020461; /* vertprog magic */
- blit->vp.hdr[4] = 0x000ff000; /* no outputs read */
-- blit->vp.hdr[6] = 0x0000003f; /* a[0x80], a[0x90] */
-- blit->vp.hdr[13] = 0x0003f000; /* o[0x70], o[0x80] */
-+ blit->vp.hdr[6] = 0x00000073; /* a[0x80].xy, a[0x90].xyz */
-+ blit->vp.hdr[13] = 0x00073000; /* o[0x70].xy, o[0x80].xyz */
- }
-
- static void
-@@ -820,7 +820,7 @@ nvc0_blit_3d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
- nvc0_blit_select_fp(blit, info);
- nvc0_blitctx_pre_blit(blit);
-
-- nvc0_blit_set_dst(blit, dst, info->dst.level, 0, info->dst.format);
-+ nvc0_blit_set_dst(blit, dst, info->dst.level, -1, info->dst.format);
- nvc0_blit_set_src(blit, src, info->src.level, -1, info->src.format,
- blit->filter);
-
-@@ -927,11 +927,14 @@ nvc0_blit_3d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
- if (info->dst.box.z + info->dst.box.depth - 1)
- IMMED_NVC0(push, NVC0_3D(LAYER), 0);
-
-- /* re-enable normally constant state */
-+ nvc0_blitctx_post_blit(blit);
-
-- IMMED_NVC0(push, NVC0_3D(VIEWPORT_TRANSFORM_EN), 1);
-+ /* restore viewport */
-
-- nvc0_blitctx_post_blit(blit);
-+ BEGIN_NVC0(push, NVC0_3D(VIEWPORT_HORIZ(0)), 2);
-+ PUSH_DATA (push, nvc0->framebuffer.width << 16);
-+ PUSH_DATA (push, nvc0->framebuffer.height << 16);
-+ IMMED_NVC0(push, NVC0_3D(VIEWPORT_TRANSFORM_EN), 1);
- }
-
- static void
-@@ -1108,10 +1111,17 @@ nvc0_blit(struct pipe_context *pipe, const struct pipe_blit_info *info)
- debug_printf("blit: cannot filter array or cube textures in z direction");
- }
-
-- if (!eng3d && info->dst.format != info->src.format)
-+ if (!eng3d && info->dst.format != info->src.format) {
- if (!nvc0_2d_format_faithful(info->dst.format) ||
- !nvc0_2d_format_faithful(info->src.format))
- eng3d = TRUE;
-+ /* For some retarded reason, if dst is R8/16_UNORM, the 2d engine doesn't
-+ * like to do any format conversion (DATA_ERROR 0x34 on trigger).
-+ */
-+ if (info->dst.format == PIPE_FORMAT_R8_UNORM ||
-+ info->dst.format == PIPE_FORMAT_R16_UNORM)
-+ eng3d = TRUE;
-+ }
-
- if (info->src.resource->nr_samples == 8 &&
- info->dst.resource->nr_samples <= 1)
---
-1.8.2
-
diff --git a/debian/patches/0004-nvc0-fix-for-2d-engine-R-source-formats-writing-RRR1.patch b/debian/patches/0004-nvc0-fix-for-2d-engine-R-source-formats-writing-RRR1.patch
deleted file mode 100644
index 09e3ce9..0000000
--- a/debian/patches/0004-nvc0-fix-for-2d-engine-R-source-formats-writing-RRR1.patch
+++ /dev/null
@@ -1,407 +0,0 @@
-From 923bb2d8edbcda9f4a293a0efd04d533382978e0 Mon Sep 17 00:00:00 2001
-From: Christoph Bumiller <e0425955@student.tuwien.ac.at>
-Date: Sat, 30 Mar 2013 21:28:30 +0100
-Subject: [PATCH 4/4] nvc0: fix for 2d engine R source formats writing RRR1 and
- not R001
-
----
- src/gallium/drivers/nv50/nv50_blit.h | 40 +++++++++++++++
- src/gallium/drivers/nv50/nv50_surface.c | 71 +++++++++++++++++---------
- src/gallium/drivers/nvc0/nvc0_surface.c | 89 ++++++++++++++++++++++-----------
- 3 files changed, 148 insertions(+), 52 deletions(-)
-
-diff --git a/src/gallium/drivers/nv50/nv50_blit.h b/src/gallium/drivers/nv50/nv50_blit.h
-index d409f21..bdd6a63 100644
---- a/src/gallium/drivers/nv50/nv50_blit.h
-+++ b/src/gallium/drivers/nv50/nv50_blit.h
-@@ -180,4 +180,44 @@ nv50_blit_eng2d_get_mask(const struct pipe_blit_info *info)
- return mask;
- }
-
-+#if NOUVEAU_DRIVER == 0xc0
-+# define nv50_format_table nvc0_format_table
-+#endif
-+
-+/* return TRUE for formats that can be converted among each other by NVC0_2D */
-+static INLINE boolean
-+nv50_2d_dst_format_faithful(enum pipe_format format)
-+{
-+ const uint64_t mask =
-+ NV50_ENG2D_SUPPORTED_FORMATS &
-+ ~NV50_ENG2D_NOCONVERT_FORMATS;
-+ uint8_t id = nv50_format_table[format].rt;
-+ return (id >= 0xc0) && (mask & (1ULL << (id - 0xc0)));
-+}
-+static INLINE boolean
-+nv50_2d_src_format_faithful(enum pipe_format format)
-+{
-+ const uint64_t mask =
-+ NV50_ENG2D_SUPPORTED_FORMATS &
-+ ~(NV50_ENG2D_LUMINANCE_FORMATS | NV50_ENG2D_INTENSITY_FORMATS);
-+ uint8_t id = nv50_format_table[format].rt;
-+ return (id >= 0xc0) && (mask & (1ULL << (id - 0xc0)));
-+}
-+
-+static INLINE boolean
-+nv50_2d_format_supported(enum pipe_format format)
-+{
-+ uint8_t id = nv50_format_table[format].rt;
-+ return (id >= 0xc0) &&
-+ (NV50_ENG2D_SUPPORTED_FORMATS & (1ULL << (id - 0xc0)));
-+}
-+
-+static INLINE boolean
-+nv50_2d_dst_format_ops_supported(enum pipe_format format)
-+{
-+ uint8_t id = nv50_format_table[format].rt;
-+ return (id >= 0xc0) &&
-+ (NV50_ENG2D_OPERATION_FORMATS & (1ULL << (id - 0xc0)));
-+}
-+
- #endif /* __NV50_BLIT_H__ */
-diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c
-index 16f77cd..3a780f6 100644
---- a/src/gallium/drivers/nv50/nv50_surface.c
-+++ b/src/gallium/drivers/nv50/nv50_surface.c
-@@ -35,25 +35,22 @@
-
- #include "nv50_context.h"
- #include "nv50_resource.h"
--#include "nv50_blit.h"
-
- #include "nv50_defs.xml.h"
- #include "nv50_texture.xml.h"
-
-+/* these are used in nv50_blit.h */
- #define NV50_ENG2D_SUPPORTED_FORMATS 0xff0843e080608409ULL
-+#define NV50_ENG2D_NOCONVERT_FORMATS 0x0008402000000000ULL
-+#define NV50_ENG2D_LUMINANCE_FORMATS 0x0008402000000000ULL
-+#define NV50_ENG2D_INTENSITY_FORMATS 0x0000000000000000ULL
-+#define NV50_ENG2D_OPERATION_FORMATS 0x060001c000608000ULL
-
--/* return TRUE for formats that can be converted among each other by NV50_2D */
--static INLINE boolean
--nv50_2d_format_faithful(enum pipe_format format)
--{
-- uint8_t id = nv50_format_table[format].rt;
--
-- return (id >= 0xc0) &&
-- (NV50_ENG2D_SUPPORTED_FORMATS & (1ULL << (id - 0xc0)));
--}
-+#define NOUVEAU_DRIVER 0x50
-+#include "nv50_blit.h"
-
- static INLINE uint8_t
--nv50_2d_format(enum pipe_format format)
-+nv50_2d_format(enum pipe_format format, boolean dst, boolean dst_src_equal)
- {
- uint8_t id = nv50_format_table[format].rt;
-
-@@ -62,6 +59,7 @@ nv50_2d_format(enum pipe_format format)
- */
- if ((id >= 0xc0) && (NV50_ENG2D_SUPPORTED_FORMATS & (1ULL << (id - 0xc0))))
- return id;
-+ assert(dst_src_equal);
-
- switch (util_format_get_blocksize(format)) {
- case 1:
-@@ -78,7 +76,7 @@ nv50_2d_format(enum pipe_format format)
- static int
- nv50_2d_texture_set(struct nouveau_pushbuf *push, int dst,
- struct nv50_miptree *mt, unsigned level, unsigned layer,
-- enum pipe_format pformat)
-+ enum pipe_format pformat, boolean dst_src_pformat_equal)
- {
- struct nouveau_bo *bo = mt->base.bo;
- uint32_t width, height, depth;
-@@ -86,7 +84,7 @@ nv50_2d_texture_set(struct nouveau_pushbuf *push, int dst,
- uint32_t mthd = dst ? NV50_2D_DST_FORMAT : NV50_2D_SRC_FORMAT;
- uint32_t offset = mt->level[level].offset;
-
-- format = nv50_2d_format(pformat);
-+ format = nv50_2d_format(pformat, dst, dst_src_pformat_equal);
- if (!format) {
- NOUVEAU_ERR("invalid/unsupported surface format: %s\n",
- util_format_name(pformat));
-@@ -155,15 +153,16 @@ nv50_2d_texture_do_copy(struct nouveau_pushbuf *push,
- const enum pipe_format dfmt = dst->base.base.format;
- const enum pipe_format sfmt = src->base.base.format;
- int ret;
-+ boolean eqfmt = dfmt == sfmt;
-
- if (!PUSH_SPACE(push, 2 * 16 + 32))
- return PIPE_ERROR;
-
-- ret = nv50_2d_texture_set(push, 1, dst, dst_level, dz, dfmt);
-+ ret = nv50_2d_texture_set(push, 1, dst, dst_level, dz, dfmt, eqfmt);
- if (ret)
- return ret;
-
-- ret = nv50_2d_texture_set(push, 0, src, src_level, sz, sfmt);
-+ ret = nv50_2d_texture_set(push, 0, src, src_level, sz, sfmt, eqfmt);
- if (ret)
- return ret;
-
-@@ -243,8 +242,8 @@ nv50_resource_copy_region(struct pipe_context *pipe,
- }
-
- assert((src->format == dst->format) ||
-- (nv50_2d_format_faithful(src->format) &&
-- nv50_2d_format_faithful(dst->format)));
-+ (nv50_2d_src_format_faithful(src->format) &&
-+ nv50_2d_dst_format_faithful(dst->format)));
-
- BCTX_REFN(nv50->bufctx, 2D, nv04_resource(src), RD);
- BCTX_REFN(nv50->bufctx, 2D, nv04_resource(dst), WR);
-@@ -1061,7 +1060,8 @@ nv50_blit_eng2d(struct nv50_context *nv50, const struct pipe_blit_info *info)
- int64_t du_dx, dv_dy;
- int i;
- uint32_t mode;
-- const uint32_t mask = nv50_blit_eng2d_get_mask(info);
-+ uint32_t mask = nv50_blit_eng2d_get_mask(info);
-+ boolean b;
-
- mode = nv50_blit_get_filter(info) ?
- NV50_2D_BLIT_CONTROL_FILTER_BILINEAR :
-@@ -1072,8 +1072,9 @@ nv50_blit_eng2d(struct nv50_context *nv50, const struct pipe_blit_info *info)
- du_dx = ((int64_t)info->src.box.width << 32) / info->dst.box.width;
- dv_dy = ((int64_t)info->src.box.height << 32) / info->dst.box.height;
-
-- nv50_2d_texture_set(push, 1, dst, info->dst.level, dz, info->dst.format);
-- nv50_2d_texture_set(push, 0, src, info->src.level, sz, info->src.format);
-+ b = info->dst.format == info->src.format;
-+ nv50_2d_texture_set(push, 1, dst, info->dst.level, dz, info->dst.format, b);
-+ nv50_2d_texture_set(push, 0, src, info->src.level, sz, info->src.format, b);
-
- if (info->scissor_enable) {
- BEGIN_NV04(push, NV50_2D(CLIP_X), 5);
-@@ -1096,6 +1097,17 @@ nv50_blit_eng2d(struct nv50_context *nv50, const struct pipe_blit_info *info)
- PUSH_DATA (push, 0xffffffff);
- BEGIN_NV04(push, NV50_2D(OPERATION), 1);
- PUSH_DATA (push, NV50_2D_OPERATION_ROP);
-+ } else
-+ if (info->src.format != info->dst.format) {
-+ if (info->src.format == PIPE_FORMAT_R8_UNORM ||
-+ info->src.format == PIPE_FORMAT_R16_UNORM ||
-+ info->src.format == PIPE_FORMAT_R16_FLOAT ||
-+ info->src.format == PIPE_FORMAT_R32_FLOAT) {
-+ mask = 0xffff0000; /* also makes condition for OPERATION reset true */
-+ BEGIN_NV04(push, NV50_2D(BETA4), 2);
-+ PUSH_DATA (push, mask);
-+ PUSH_DATA (push, NV50_2D_OPERATION_SRCCOPY_PREMULT);
-+ }
- }
-
- if (src->ms_x > dst->ms_x || src->ms_y > dst->ms_y) {
-@@ -1227,11 +1239,22 @@ nv50_blit(struct pipe_context *pipe, const struct pipe_blit_info *info)
- }
-
- if (!eng3d && info->dst.format != info->src.format) {
-- if (!nv50_2d_format_faithful(info->dst.format) ||
-- !nv50_2d_format_faithful(info->src.format))
-+ if (!nv50_2d_dst_format_faithful(info->dst.format) ||
-+ !nv50_2d_src_format_faithful(info->src.format)) {
- eng3d = TRUE;
-- if (info->dst.format == PIPE_FORMAT_R8_UNORM ||
-- info->dst.format == PIPE_FORMAT_R16_UNORM)
-+ } else
-+ if (!nv50_2d_src_format_faithful(info->src.format)) {
-+ if (!util_format_is_luminance(info->src.format)) {
-+ if (util_format_is_intensity(info->src.format))
-+ eng3d = TRUE;
-+ else
-+ if (!nv50_2d_dst_format_ops_supported(info->dst.format))
-+ eng3d = TRUE;
-+ else
-+ eng3d = !nv50_2d_format_supported(info->src.format);
-+ }
-+ } else
-+ if (util_format_is_luminance_alpha(info->src.format))
- eng3d = TRUE;
- }
-
-diff --git a/src/gallium/drivers/nvc0/nvc0_surface.c b/src/gallium/drivers/nvc0/nvc0_surface.c
-index 80f6f6f..66154a4 100644
---- a/src/gallium/drivers/nvc0/nvc0_surface.c
-+++ b/src/gallium/drivers/nvc0/nvc0_surface.c
-@@ -36,29 +36,32 @@
-
- #include "nv50/nv50_defs.xml.h"
- #include "nv50/nv50_texture.xml.h"
--#include "nv50/nv50_blit.h"
-
--#define NVC0_ENG2D_SUPPORTED_FORMATS 0xff9ccfe1cce3ccc9ULL
-+/* these are used in nv50_blit.h */
-+#define NV50_ENG2D_SUPPORTED_FORMATS 0xff9ccfe1cce3ccc9ULL
-+#define NV50_ENG2D_NOCONVERT_FORMATS 0x009cc02000000000ULL
-+#define NV50_ENG2D_LUMINANCE_FORMATS 0x001cc02000000000ULL
-+#define NV50_ENG2D_INTENSITY_FORMATS 0x0080000000000000ULL
-+#define NV50_ENG2D_OPERATION_FORMATS 0x060001c000638000ULL
-
--/* return TRUE for formats that can be converted among each other by NVC0_2D */
--static INLINE boolean
--nvc0_2d_format_faithful(enum pipe_format format)
--{
-- uint8_t id = nvc0_format_table[format].rt;
--
-- return (id >= 0xc0) && (NVC0_ENG2D_SUPPORTED_FORMATS & (1ULL << (id - 0xc0)));
--}
-+#define NOUVEAU_DRIVER 0xc0
-+#include "nv50/nv50_blit.h"
-
- static INLINE uint8_t
--nvc0_2d_format(enum pipe_format format)
-+nvc0_2d_format(enum pipe_format format, boolean dst, boolean dst_src_equal)
- {
- uint8_t id = nvc0_format_table[format].rt;
-
-+ /* A8_UNORM is treated as I8_UNORM as far as the 2D engine is concerned. */
-+ if (!dst && unlikely(format == PIPE_FORMAT_I8_UNORM) && !dst_src_equal)
-+ return NV50_SURFACE_FORMAT_A8_UNORM;
-+
- /* Hardware values for color formats range from 0xc0 to 0xff,
- * but the 2D engine doesn't support all of them.
- */
-- if (nvc0_2d_format_faithful(format))
-+ if (nv50_2d_format_supported(format))
- return id;
-+ assert(dst_src_equal);
-
- switch (util_format_get_blocksize(format)) {
- case 1:
-@@ -72,6 +75,7 @@ nvc0_2d_format(enum pipe_format format)
- case 16:
- return NV50_SURFACE_FORMAT_RGBA32_FLOAT;
- default:
-+ assert(0);
- return 0;
- }
- }
-@@ -79,7 +83,7 @@ nvc0_2d_format(enum pipe_format format)
- static int
- nvc0_2d_texture_set(struct nouveau_pushbuf *push, boolean dst,
- struct nv50_miptree *mt, unsigned level, unsigned layer,
-- enum pipe_format pformat)
-+ enum pipe_format pformat, boolean dst_src_pformat_equal)
- {
- struct nouveau_bo *bo = mt->base.bo;
- uint32_t width, height, depth;
-@@ -87,7 +91,7 @@ nvc0_2d_texture_set(struct nouveau_pushbuf *push, boolean dst,
- uint32_t mthd = dst ? NVC0_2D_DST_FORMAT : NVC0_2D_SRC_FORMAT;
- uint32_t offset = mt->level[level].offset;
-
-- format = nvc0_2d_format(pformat);
-+ format = nvc0_2d_format(pformat, dst, dst_src_pformat_equal);
- if (!format) {
- NOUVEAU_ERR("invalid/unsupported surface format: %s\n",
- util_format_name(pformat));
-@@ -157,15 +161,16 @@ nvc0_2d_texture_do_copy(struct nouveau_pushbuf *push,
- const enum pipe_format dfmt = dst->base.base.format;
- const enum pipe_format sfmt = src->base.base.format;
- int ret;
-+ boolean eqfmt = dfmt == sfmt;
-
- if (!PUSH_SPACE(push, 2 * 16 + 32))
- return PIPE_ERROR;
-
-- ret = nvc0_2d_texture_set(push, TRUE, dst, dst_level, dz, dfmt);
-+ ret = nvc0_2d_texture_set(push, TRUE, dst, dst_level, dz, dfmt, eqfmt);
- if (ret)
- return ret;
-
-- ret = nvc0_2d_texture_set(push, FALSE, src, src_level, sz, sfmt);
-+ ret = nvc0_2d_texture_set(push, FALSE, src, src_level, sz, sfmt, eqfmt);
- if (ret)
- return ret;
-
-@@ -243,8 +248,8 @@ nvc0_resource_copy_region(struct pipe_context *pipe,
- return;
- }
-
-- assert(nvc0_2d_format_faithful(src->format));
-- assert(nvc0_2d_format_faithful(dst->format));
-+ assert(nv50_2d_dst_format_faithful(dst->format));
-+ assert(nv50_2d_src_format_faithful(src->format));
-
- BCTX_REFN(nvc0->bufctx, 2D, nv04_resource(src), RD);
- BCTX_REFN(nvc0->bufctx, 2D, nv04_resource(dst), WR);
-@@ -953,7 +958,8 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
- int64_t du_dx, dv_dy;
- int i;
- uint32_t mode;
-- const uint32_t mask = nv50_blit_eng2d_get_mask(info);
-+ uint32_t mask = nv50_blit_eng2d_get_mask(info);
-+ boolean b;
-
- mode = nv50_blit_get_filter(info) ?
- NVC0_2D_BLIT_CONTROL_FILTER_BILINEAR :
-@@ -964,8 +970,9 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
- du_dx = ((int64_t)info->src.box.width << 32) / info->dst.box.width;
- dv_dy = ((int64_t)info->src.box.height << 32) / info->dst.box.height;
-
-- nvc0_2d_texture_set(push, 1, dst, info->dst.level, dz, info->dst.format);
-- nvc0_2d_texture_set(push, 0, src, info->src.level, sz, info->src.format);
-+ b = info->dst.format == info->src.format;
-+ nvc0_2d_texture_set(push, 1, dst, info->dst.level, dz, info->dst.format, b);
-+ nvc0_2d_texture_set(push, 0, src, info->src.level, sz, info->src.format, b);
-
- if (info->scissor_enable) {
- BEGIN_NVC0(push, NVC0_2D(CLIP_X), 5);
-@@ -986,6 +993,25 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
- PUSH_DATA (push, 0xffffffff);
- PUSH_DATA (push, 0xffffffff);
- IMMED_NVC0(push, NVC0_2D(OPERATION), NVC0_2D_OPERATION_ROP);
-+ } else
-+ if (info->src.format != info->dst.format) {
-+ if (info->src.format == PIPE_FORMAT_R8_UNORM ||
-+ info->src.format == PIPE_FORMAT_R8_SNORM ||
-+ info->src.format == PIPE_FORMAT_R16_UNORM ||
-+ info->src.format == PIPE_FORMAT_R16_SNORM ||
-+ info->src.format == PIPE_FORMAT_R16_FLOAT ||
-+ info->src.format == PIPE_FORMAT_R32_FLOAT) {
-+ mask = 0xffff0000; /* also makes condition for OPERATION reset true */
-+ BEGIN_NVC0(push, NVC0_2D(BETA4), 2);
-+ PUSH_DATA (push, mask);
-+ PUSH_DATA (push, NVC0_2D_OPERATION_SRCCOPY_PREMULT);
-+ } else
-+ if (info->src.format == PIPE_FORMAT_A8_UNORM) {
-+ mask = 0xff000000;
-+ BEGIN_NVC0(push, NVC0_2D(BETA4), 2);
-+ PUSH_DATA (push, mask);
-+ PUSH_DATA (push, NVC0_2D_OPERATION_SRCCOPY_PREMULT);
-+ }
- }
-
- if (src->ms_x > dst->ms_x || src->ms_y > dst->ms_y) {
-@@ -1112,14 +1138,21 @@ nvc0_blit(struct pipe_context *pipe, const struct pipe_blit_info *info)
- }
-
- if (!eng3d && info->dst.format != info->src.format) {
-- if (!nvc0_2d_format_faithful(info->dst.format) ||
-- !nvc0_2d_format_faithful(info->src.format))
-+ if (!nv50_2d_dst_format_faithful(info->dst.format)) {
- eng3d = TRUE;
-- /* For some retarded reason, if dst is R8/16_UNORM, the 2d engine doesn't
-- * like to do any format conversion (DATA_ERROR 0x34 on trigger).
-- */
-- if (info->dst.format == PIPE_FORMAT_R8_UNORM ||
-- info->dst.format == PIPE_FORMAT_R16_UNORM)
-+ } else
-+ if (!nv50_2d_src_format_faithful(info->src.format)) {
-+ if (!util_format_is_luminance(info->src.format)) {
-+ if (util_format_is_intensity(info->src.format))
-+ eng3d = info->src.format != PIPE_FORMAT_I8_UNORM;
-+ else
-+ if (!nv50_2d_dst_format_ops_supported(info->dst.format))
-+ eng3d = TRUE;
-+ else
-+ eng3d = !nv50_2d_format_supported(info->src.format);
-+ }
-+ } else
-+ if (util_format_is_luminance_alpha(info->src.format))
- eng3d = TRUE;
- }
-
---
-1.8.2
-
diff --git a/debian/patches/100_no_abi_tag.patch b/debian/patches/100_no_abi_tag.patch
deleted file mode 100644
index 80f1d32..0000000
--- a/debian/patches/100_no_abi_tag.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- a/src/mapi/glapi/gen/gl_x86-64_asm.py
-+++ b/src/mapi/glapi/gen/gl_x86-64_asm.py
-@@ -181,19 +181,6 @@ class PrintGenericStubs(gl_XML.gl_print_
-
- def printRealFooter(self):
- print ''
-- print '#if defined(GLX_USE_TLS) && defined(__linux__)'
-- print ' .section ".note.ABI-tag", "a"'
-- print ' .p2align 2'
-- print ' .long 1f - 0f /* name length */'
-- print ' .long 3f - 2f /* data length */'
-- print ' .long 1 /* note length */'
-- print '0: .asciz "GNU" /* vendor name */'
-- print '1: .p2align 2'
-- print '2: .long 0 /* note data: the ABI tag */'
-- print ' .long 2,4,20 /* Minimum kernel version w/TLS */'
-- print '3: .p2align 2 /* pad out section */'
-- print '#endif /* GLX_USE_TLS */'
-- print ''
- print '#if defined (__ELF__) && defined (__linux__)'
- print ' .section .note.GNU-stack,"",%progbits'
- print '#endif'
---- a/src/mapi/glapi/gen/gl_x86_asm.py
-+++ b/src/mapi/glapi/gen/gl_x86_asm.py
-@@ -189,19 +189,6 @@ class PrintGenericStubs(gl_XML.gl_print_
- print '\t\tALIGNTEXT16'
- print 'GLNAME(gl_dispatch_functions_end):'
- print ''
-- print '#if defined(GLX_USE_TLS) && defined(__linux__)'
-- print ' .section ".note.ABI-tag", "a"'
-- print ' .p2align 2'
-- print ' .long 1f - 0f /* name length */'
-- print ' .long 3f - 2f /* data length */'
-- print ' .long 1 /* note length */'
-- print '0: .asciz "GNU" /* vendor name */'
-- print '1: .p2align 2'
-- print '2: .long 0 /* note data: the ABI tag */'
-- print ' .long 2,4,20 /* Minimum kernel version w/TLS */'
-- print '3: .p2align 2 /* pad out section */'
-- print '#endif /* GLX_USE_TLS */'
-- print ''
- print '#if defined (__ELF__) && defined (__linux__)'
- print ' .section .note.GNU-stack,"",%progbits'
- print '#endif'
diff --git a/debian/patches/119-libllvmradeon-link.patch b/debian/patches/119-libllvmradeon-link.patch
deleted file mode 100644
index ee47f8a..0000000
--- a/debian/patches/119-libllvmradeon-link.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/src/gallium/drivers/radeon/Makefile.am
-+++ b/src/gallium/drivers/radeon/Makefile.am
-@@ -26,5 +26,6 @@
- $(C_FILES)
-
- libllvmradeon@VERSION@_la_LIBADD = \
-+ $(top_builddir)/src/gallium/auxiliary/libgallium.la \
- $(CLOCK_LIB) \
- $(LLVM_LIBS)
diff --git a/debian/patches/series b/debian/patches/series
index c03f810..b96e848 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,17 +5,9 @@
#11-hurd-ftbfs-again.diff
# Ubuntu patches.
-100_no_abi_tag.patch
101_ubuntu_hidden_glname.patch
117-static-gallium.patch
118-dricore-gallium.patch
-119-libllvmradeon-link.patch
120-hide-x86sse.patch
-0001-nv50-fix-3D-render-target-setup.patch
-0002-nv50-nvc0-disable-DEPTH_RANGE_NEAR-FAR-clipping-duri.patch
-0003-nv50-nvc0-fix-3d-blits-restore-viewport-after-blit.patch
-0004-nvc0-fix-for-2d-engine-R-source-formats-writing-RRR1.patch
-
-vbo-fix-crash.diff
revert-a64c1eb9b110.diff
diff --git a/debian/patches/vbo-fix-crash.diff b/debian/patches/vbo-fix-crash.diff
deleted file mode 100644
index 03b52b2..0000000
--- a/debian/patches/vbo-fix-crash.diff
+++ /dev/null
@@ -1,29 +0,0 @@
-commit e6616948b74531eae3137585b3ae35a1fc0f8174
-Author: Brian Paul <brianp@vmware.com>
-Date: Wed Mar 6 12:08:17 2013 -0700
-
- vbo: fix crash found with shared display lists
-
- This fixes a crash when a display list is created in one context
- but executed from a second one. The vbo_save_context::vertex_store
- memeber will be NULL if we never created a display list with the
- context. Just check for that before dereferencing the pointer.
-
- Fixes http://bugzilla.redhat.com/show_bug.cgi?id=918661
-
- Note: This is a candidate for the stable branches.
- (cherry picked from commit c2665aacdd14beec9580246736c602e3ff04d7ae)
-
-diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c
-index efb386e..f5b5c41 100644
---- a/src/mesa/vbo/vbo_save_draw.c
-+++ b/src/mesa/vbo/vbo_save_draw.c
-@@ -253,7 +253,7 @@ vbo_save_playback_vertex_list(struct gl_context *ctx, void *data)
- struct vbo_save_context *save = &vbo_context(ctx)->save;
- GLboolean remap_vertex_store = GL_FALSE;
Reply to: