mesa:update

This commit is contained in:
alihanozturk
2017-02-15 13:48:00 +03:00
parent f559721a77
commit a2fbc97b8e
8 changed files with 427 additions and 283 deletions
@@ -1,5 +1,23 @@
From: Ilia Mirkin <imirkin@alum.mit.edu>
Date: Mon Jun 6 20:30:48 2016 -0400
Subject: [PATCH 2/5]nouveau: more locking - make sure that fence work is always done with the push mutex acquired
Patch-mainline: N/A
References: boo#997171
Signed-off-by: Max Staudt <mstaudt@suse.de>
Cherry-picked from 2733e5483e1c2b80e4b0ae21187ec5e3e1579397
at https://github.com/imirkin/mesa.git
Signed-off-by: Max Staudt <mstaudt@suse.de>
---
src/gallium/drivers/nouveau/nouveau_buffer.c | 4 ++++
src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 7 +++++--
src/gallium/drivers/nouveau/nv50/nv50_query_hw.c | 5 ++++-
src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c | 5 ++++-
4 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/nouveau/nouveau_buffer.c b/src/gallium/drivers/nouveau/nouveau_buffer.c diff --git a/src/gallium/drivers/nouveau/nouveau_buffer.c b/src/gallium/drivers/nouveau/nouveau_buffer.c
index 58fa453..a006e9f 100644 index b54c19b..a5a06cf 100644
--- a/src/gallium/drivers/nouveau/nouveau_buffer.c --- a/src/gallium/drivers/nouveau/nouveau_buffer.c
+++ b/src/gallium/drivers/nouveau/nouveau_buffer.c +++ b/src/gallium/drivers/nouveau/nouveau_buffer.c
@@ -80,6 +80,8 @@ release_allocation(struct nouveau_mm_allocation **mm, @@ -80,6 +80,8 @@ release_allocation(struct nouveau_mm_allocation **mm,
@@ -1,5 +1,21 @@
From: Ilia Mirkin <imirkin@alum.mit.edu>
Date: Tue Jun 21 22:59:50 2016 -0400
Subject: [PATCH 3/5]nv30 locking fixes
Patch-mainline: N/A
References: boo#997171
Signed-off-by: Max Staudt <mstaudt@suse.de>
Cherry-picked from 940b3a773f264f3f52574160f0d06c48f8e8aeb2
at https://github.com/imirkin/mesa.git
Signed-off-by: Max Staudt <mstaudt@suse.de>
---
src/gallium/drivers/nouveau/nv30/nv30_draw.c | 20 ++++++++++++++++++--
src/gallium/drivers/nouveau/nv30/nv30_fragprog.c | 4 ++++
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_draw.c b/src/gallium/drivers/nouveau/nv30/nv30_draw.c diff --git a/src/gallium/drivers/nouveau/nv30/nv30_draw.c b/src/gallium/drivers/nouveau/nv30/nv30_draw.c
index 10c9f56..c5761a3 100644 index 7b0d074..1c71534 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_draw.c --- a/src/gallium/drivers/nouveau/nv30/nv30_draw.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_draw.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_draw.c
@@ -127,6 +127,8 @@ nv30_render_draw_elements(struct vbuf_render *render, @@ -127,6 +127,8 @@ nv30_render_draw_elements(struct vbuf_render *render,
@@ -62,7 +78,7 @@ index 10c9f56..c5761a3 100644
} }
static void static void
@@ -386,6 +398,8 @@ nv30_render_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) @@ -383,6 +395,8 @@ nv30_render_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
nv30_render_validate(nv30); nv30_render_validate(nv30);
@@ -71,7 +87,7 @@ index 10c9f56..c5761a3 100644
if (nv30->draw_dirty & NV30_NEW_VIEWPORT) if (nv30->draw_dirty & NV30_NEW_VIEWPORT)
draw_set_viewport_states(draw, 0, 1, &nv30->viewport); draw_set_viewport_states(draw, 0, 1, &nv30->viewport);
if (nv30->draw_dirty & NV30_NEW_RASTERIZER) if (nv30->draw_dirty & NV30_NEW_RASTERIZER)
@@ -451,6 +465,8 @@ nv30_render_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) @@ -448,6 +462,8 @@ nv30_render_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
if (transfer[i]) if (transfer[i])
pipe_buffer_unmap(pipe, transfer[i]); pipe_buffer_unmap(pipe, transfer[i]);
@@ -0,0 +1,24 @@
From: Max Staudt <mstaudt@suse.de>
Date: Wed Oct 5 18:49:41 2016 +0200
Subject: [PATCH 4/5]nv50: Fix double lock in nv50_hw_sm_get_query_result()
Patch-mainline: N/A
References: boo#997171
Signed-off-by: Max Staudt <mstaudt@suse.de>
Signed-off-by: Max Staudt <mstaudt@suse.de>
---
src/gallium/drivers/nouveau/nv50/nv50_query_hw_sm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_query_hw_sm.c b/src/gallium/drivers/nouveau/nv50/nv50_query_hw_sm.c
index 31445eb..acc64ac 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_query_hw_sm.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_query_hw_sm.c
@@ -351,7 +351,7 @@ nv50_hw_sm_get_query_result(struct nv50_context *nv50, struct nv50_hw_query *hq,
pipe_mutex_lock(nv50->screen->base.push_mutex);
ret = nv50_hw_sm_query_read_data(count, nv50, wait, hq, cfg, mp_count);
- pipe_mutex_lock(nv50->screen->base.push_mutex);
+ pipe_mutex_unlock(nv50->screen->base.push_mutex);
if (!ret)
return false;
@@ -0,0 +1,29 @@
From: Max Staudt <mstaudt@suse.de>
Date: Wed Oct 5 18:51:38 2016 +0200
Subject: [PATCH 5/5]Use nv50_render_condition() in nv50_blitctx_post_blit()
Patch-mainline: N/A
References: boo#997171
Signed-off-by: Max Staudt <mstaudt@suse.de>
Analogous to what happens in nvc0_blitctx_post_blit()
Signed-off-by: Max Staudt <mstaudt@suse.de>
---
src/gallium/drivers/nouveau/nv50/nv50_surface.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_surface.c b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
index d6b9de0..36cd72b 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_surface.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
@@ -1328,8 +1328,8 @@ nv50_blitctx_post_blit(struct nv50_blitctx *blit)
nv50->samplers[2][1] = blit->saved.sampler[1];
if (nv50->cond_query && !blit->render_condition_enable)
- nv50->base.pipe.render_condition(&nv50->base.pipe, nv50->cond_query,
- nv50->cond_cond, nv50->cond_mode);
+ nv50_render_condition(&nv50->base.pipe, nv50->cond_query,
+ nv50->cond_cond, nv50->cond_mode);
nouveau_bufctx_reset(nv50->bufctx_3d, NV50_BIND_3D_FB);
nouveau_bufctx_reset(nv50->bufctx_3d, NV50_BIND_3D_TEXTURES);
@@ -0,0 +1,40 @@
From: Egbert Eich <eich@suse.de>
Date: Fri Mar 11 13:29:43 2016 +0100
Subject: [PATCH]Define GLAPIVAR separate from GLAPI
Patch-mainline: never
Git-commit: 88dda160564c8c23cb533b0eb258404f1687a2e8
References: bsc#
Signed-off-by: Egbert Eich <eich@suse.com>
GLAPI doesn't contain 'extern' in some environments.
This is needed for variables (GLw).
Signed-off-by: Egbert Eich <eich@suse.de>
---
Mesa-10.0.3/include/GL/gl.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/GL/gl.h b/Mesa-10.0.3/include/GL/gl.h
index b484b96..5189008 100644
--- a/include/GL/gl.h
+++ b/include/GL/gl.h
@@ -59,6 +59,7 @@
#elif (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
# define GLAPI __attribute__((visibility("default")))
# define GLAPIENTRY
+# define GLAPIVAR extern GLAPI
#endif /* WIN32 && !CYGWIN */
/*
@@ -80,6 +81,10 @@
#define GLAPI extern
#endif
+#ifndef GLAPIVAR
+#define GLAPIVAR extern
+#endif
+
#ifndef GLAPIENTRY
#define GLAPIENTRY
#endif
@@ -0,0 +1,52 @@
From a9af1af5f1f9aa9fdea9e73135a92f053478f849 Mon Sep 17 00:00:00 2001
From: Stefan Dirsch <sndirsch@suse.de>
Date: Wed, 20 Jan 2016 16:10:15 +0100
Subject: [PATCH] VDPAU/XVMC libs: Replace hardlinks with copies
Since these are packaged separately in (open)SUSE anyway, one can use
copies as well. This makes debug packages possible again. (bnc #962609)
Signed-off-by: Stefan Dirsch <sndirsch@suse.de>
---
src/gallium/targets/vdpau/Makefile.am | 4 ++--
src/gallium/targets/xvmc/Makefile.am | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am
index d388f8b..c9cc534 100644
--- a/src/gallium/targets/vdpau/Makefile.am
+++ b/src/gallium/targets/vdpau/Makefile.am
@@ -86,7 +86,7 @@ all-local: $(vdpau_LTLIBRARIES)
j=libvdpau_gallium.$(LIB_EXT); \
k=libvdpau_$${i}.$(LIB_EXT); \
l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
- ln -f .libs/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
+ cp -a .libs/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
$${link_dir}/$${l}; \
ln -sf $${l} \
$${link_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
@@ -111,7 +111,7 @@ install-data-hook:
j=libvdpau_gallium.$(LIB_EXT); \
k=libvdpau_$${i}.$(LIB_EXT); \
l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
- ln -f $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
+ cp -a $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
$${dest_dir}/$${l}; \
ln -sf $${l} \
$${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
diff --git a/src/gallium/targets/xvmc/Makefile.am b/src/gallium/targets/xvmc/Makefile.am
index fdc5f4b..93ef230 100644
--- a/src/gallium/targets/xvmc/Makefile.am
+++ b/src/gallium/targets/xvmc/Makefile.am
@@ -73,7 +73,7 @@ install-data-hook:
j=libXvMCgallium.$(LIB_EXT); \
k=libXvMC$${i}.$(LIB_EXT); \
l=$${k}.$(XVMC_MAJOR).$(XVMC_MINOR).0; \
- ln -f $${dest_dir}/$${j}.$(XVMC_MAJOR).$(XVMC_MINOR).0 \
+ cp -a $${dest_dir}/$${j}.$(XVMC_MAJOR).$(XVMC_MINOR).0 \
$${dest_dir}/$${l}; \
ln -sf $${l} \
$${dest_dir}/$${k}.$(XVMC_MAJOR).$(XVMC_MINOR); \
--
2.6.2
+8 -4
View File
@@ -40,9 +40,13 @@
<Dependency versionFrom="1.2">libxshmfence-devel</Dependency> <Dependency versionFrom="1.2">libxshmfence-devel</Dependency>
</BuildDependencies> </BuildDependencies>
<Patches> <Patches>
<!-- <Patch level="1">2e6b0e24cfb0f467e8b6d6f394730442a72dcdaf.diff</Patch> --> <Patch level="1">n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch</Patch>
<Patch level="1">2733e5483e1c2b80e4b0ae21187ec5e3e1579397.diff</Patch> <Patch level="1">n_Define-GLAPIVAR-separate-from-GLAPI.patch</Patch>
<Patch level="1">940b3a773f264f3f52574160f0d06c48f8e8aeb2.diff</Patch> <Patch level="1">N_01-WIP-nouveau-add-locking.patch</Patch>
<Patch level="1">N_02-nouveau-more-locking-make-sure-that-fence-work-is-always-done-with-the-push-mutex-acquired.patch</Patch>
<Patch level="1">N_03-nv30-locking-fixes.patch</Patch>
<Patch level="1">N_04-nv50-Fix-double-lock-in-nv50_hw_sm_get_query_result.patch</Patch>
<Patch level="1">N_05-Use-nv50_render_condition-in-nv50_blitctx_post_blit.patch</Patch>
</Patches> </Patches>
</Source> </Source>
@@ -177,7 +181,7 @@
<History> <History>
<Update release="5"> <Update release="5">
<Date>2017-02-12</Date> <Date>2017-02-15</Date>
<Version>13.0.4</Version> <Version>13.0.4</Version>
<Comment>llvm rebuild</Comment> <Comment>llvm rebuild</Comment>
<Name>Alihan Öztürk</Name> <Name>Alihan Öztürk</Name>