From 7b397a6dfe746f74c256e9bb8bbd1fa56130674f89e666bb4b6efe31c200b387 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Tue, 15 Mar 2016 09:38:13 +0000 Subject: [PATCH 1/3] Accepting request 372834 from devel:ARM:Factory - enable llvmpipe for aarch64 (fate#320649) OBS-URL: https://build.opensuse.org/request/show/372834 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=504 --- Mesa.changes | 5 +++++ Mesa.spec | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Mesa.changes b/Mesa.changes index 6f92fce..74b863d 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Mar 14 12:02:29 UTC 2016 - dmueller@suse.com + +- enable llvmpipe for aarch64 (fate#320649) + ------------------------------------------------------------------- Thu Feb 11 13:18:31 UTC 2016 - mimi.vx@gmail.com diff --git a/Mesa.spec b/Mesa.spec index 63d9a12..6856b1c 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -131,7 +131,7 @@ BuildRequires: pkgconfig(libdrm_intel) >= 2.4.61 BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-server) %endif -%ifarch %arm ppc64 ppc64le s390x %ix86 x86_64 +%ifarch aarch64 %arm ppc64 ppc64le s390x %ix86 x86_64 BuildRequires: llvm-devel BuildRequires: ncurses-devel %endif @@ -624,11 +624,11 @@ autoreconf -fvi --with-dri-drivers=nouveau,r200,radeon \ --with-gallium-drivers=r300,r600,nouveau,swrast \ %endif -%ifarch s390 aarch64 +%ifarch s390 --with-dri-drivers=swrast \ --with-gallium-drivers=swrast \ %endif -%ifarch s390x +%ifarch aarch64 s390x --enable-xa \ --enable-gallium-llvm \ --with-dri-drivers=swrast \ @@ -689,7 +689,7 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \ %postun -n libgbm1 -p /sbin/ldconfig -%ifarch %ix86 x86_64 %arm ppc64 ppc64le s390x +%ifarch aarch64 %ix86 x86_64 %arm ppc64 ppc64le s390x %post -n libxatracker2 -p /sbin/ldconfig %postun -n libxatracker2 -p /sbin/ldconfig @@ -844,7 +844,7 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \ %{_libdir}/libgbm.so %{_libdir}/pkgconfig/gbm.pc -%ifarch %ix86 x86_64 %arm ppc64 ppc64le s390x +%ifarch aarch64 %ix86 x86_64 %arm ppc64 ppc64le s390x %files -n libxatracker2 %defattr(-,root,root) %{_libdir}/libxatracker.so.2* From b9543c3565393ab718520844bdd5cfc499c6f120113907de2bcd2079bf8768fc Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 16 Mar 2016 11:39:21 +0000 Subject: [PATCH 2/3] - U_llvmpipe-Do-not-use-barriers-if-not-using-threads.patch * llvmpipe: Do not use barriers if not using threads; triggers on single cpu machines (like KVM in openQA) with gcc6 and latest glibc(bnc#971350) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=505 --- Mesa.changes | 8 ++++ Mesa.spec | 2 + ...ot-use-barriers-if-not-using-threads.patch | 42 +++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 U_llvmpipe-Do-not-use-barriers-if-not-using-threads.patch diff --git a/Mesa.changes b/Mesa.changes index 74b863d..d7c3345 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Mar 16 11:31:20 UTC 2016 - sndirsch@suse.com + +- U_llvmpipe-Do-not-use-barriers-if-not-using-threads.patch + * llvmpipe: Do not use barriers if not using threads; triggers + on single cpu machines (like KVM in openQA) with gcc6 and + latest glibc(bnc#971350) + ------------------------------------------------------------------- Mon Mar 14 12:02:29 UTC 2016 - dmueller@suse.com diff --git a/Mesa.spec b/Mesa.spec index 6856b1c..0b6ab2a 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -70,6 +70,7 @@ Patch17: u_st-va-hardlink-driver-instances-to-gallium_drv_video.patch Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch # Already upstream Patch19: U_clover-Fix-build-against-LLVM-3.8.patch +Patch20: U_llvmpipe-Do-not-use-barriers-if-not-using-threads.patch BuildRequires: autoconf >= 2.60 BuildRequires: automake BuildRequires: bison @@ -563,6 +564,7 @@ rm -rf docs/README.{VMS,WIN32,OS2} %patch17 -p1 %patch18 -p1 %patch19 -p1 +%patch20 -p1 %build %if 0%{?suse_version} >= 1310 diff --git a/U_llvmpipe-Do-not-use-barriers-if-not-using-threads.patch b/U_llvmpipe-Do-not-use-barriers-if-not-using-threads.patch new file mode 100644 index 0000000..fb9df74 --- /dev/null +++ b/U_llvmpipe-Do-not-use-barriers-if-not-using-threads.patch @@ -0,0 +1,42 @@ +From 4ed4c1d9210b11ce6faea81455c21531904ea45b Mon Sep 17 00:00:00 2001 +From: Vinson Lee +Date: Wed, 10 Feb 2016 16:42:19 -0800 +Subject: [PATCH] llvmpipe: Do not use barriers if not using threads. + +Cc: mesa-stable@lists.freedesktop.org +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94088 +Signed-off-by: Vinson Lee +Reviewed-by: Roland Scheidegger +--- + src/gallium/drivers/llvmpipe/lp_rast.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c +index d22e507..9e56c96 100644 +--- a/src/gallium/drivers/llvmpipe/lp_rast.c ++++ b/src/gallium/drivers/llvmpipe/lp_rast.c +@@ -910,7 +910,9 @@ lp_rast_create( unsigned num_threads ) + create_rast_threads(rast); + + /* for synchronizing rasterization threads */ +- pipe_barrier_init( &rast->barrier, rast->num_threads ); ++ if (rast->num_threads > 0) { ++ pipe_barrier_init( &rast->barrier, rast->num_threads ); ++ } + + memset(lp_dummy_tile, 0, sizeof lp_dummy_tile); + +@@ -967,7 +969,9 @@ void lp_rast_destroy( struct lp_rasterizer *rast ) + } + + /* for synchronizing rasterization threads */ +- pipe_barrier_destroy( &rast->barrier ); ++ if (rast->num_threads > 0) { ++ pipe_barrier_destroy( &rast->barrier ); ++ } + + lp_scene_queue_destroy(rast->full_scenes); + +-- +2.6.2 + From 7d5f5e6f1f079350f2e986b42a93a1ac060b0e3b59b7d9d8172b9229401b48f2 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Wed, 16 Mar 2016 18:13:28 +0000 Subject: [PATCH 3/3] - n_Define-GLAPIVAR-separate-from-GLAPI.patch: Add separate definition GLAPIVAR as GLAPI doesn't have the an 'extern' for some compiler versions. This is needed for GLw (bsc#970725). OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=506 --- Mesa.changes | 8 +++++ Mesa.spec | 3 ++ n_Define-GLAPIVAR-separate-from-GLAPI.patch | 40 +++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 n_Define-GLAPIVAR-separate-from-GLAPI.patch diff --git a/Mesa.changes b/Mesa.changes index d7c3345..a8ed693 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Mar 16 18:12:00 UTC 2016 - eich@suse.com + +- n_Define-GLAPIVAR-separate-from-GLAPI.patch: + Add separate definition GLAPIVAR as GLAPI + doesn't have the an 'extern' for some compiler + versions. This is needed for GLw (bsc#970725). + ------------------------------------------------------------------- Wed Mar 16 11:31:20 UTC 2016 - sndirsch@suse.com diff --git a/Mesa.spec b/Mesa.spec index 0b6ab2a..5ee6ef4 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -71,6 +71,8 @@ Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch # Already upstream Patch19: U_clover-Fix-build-against-LLVM-3.8.patch Patch20: U_llvmpipe-Do-not-use-barriers-if-not-using-threads.patch +Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch + BuildRequires: autoconf >= 2.60 BuildRequires: automake BuildRequires: bison @@ -565,6 +567,7 @@ rm -rf docs/README.{VMS,WIN32,OS2} %patch18 -p1 %patch19 -p1 %patch20 -p1 +%patch21 -p1 %build %if 0%{?suse_version} >= 1310 diff --git a/n_Define-GLAPIVAR-separate-from-GLAPI.patch b/n_Define-GLAPIVAR-separate-from-GLAPI.patch new file mode 100644 index 0000000..aadf0e8 --- /dev/null +++ b/n_Define-GLAPIVAR-separate-from-GLAPI.patch @@ -0,0 +1,40 @@ +From: Egbert Eich +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 + +GLAPI doesn't contain 'extern' in some environments. +This is needed for variables (GLw). + +Signed-off-by: Egbert Eich +--- + 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