Accepting request 579528 from X11:XOrg
- removed no longer needed ncurses-devel BuildRequires (boo#1082315) - redone u_add_llvm_codegen_dependencies.patch and renamed to u_configure.ac-Link-to-libLLVMCodegen-to-fix-cyclic-li.patch (boo#1082307) - removed u_mesa-8.0.1-fix-16bpp.patch and u_mesa-8.0-llvmpipe-shmget.patch, which we no longer apply since about 5 years (boo#1082305) - recreated u_mesa-python3-only.patch and renamed to u_r600-egd_tables.py-added-support-for-python-3.patch; also removed first hunk (boo#1082303) - removed n_Define-GLAPIVAR-separate-from-GLAPI.patch * bits moved to libGLw's n_Use-newly-introduced-GLAPIVAR-for-variables.patch (boo#1082297) - Mesa-gallium only exists if %{with_opencl} - Add support for riscv64 OBS-URL: https://build.opensuse.org/request/show/579528 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=316
This commit is contained in:
commit
941658fcbe
@ -1,3 +1,42 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 13:25:16 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- removed no longer needed ncurses-devel BuildRequires (boo#1082315)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 13:19:41 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- redone u_add_llvm_codegen_dependencies.patch and renamed to
|
||||||
|
u_configure.ac-Link-to-libLLVMCodegen-to-fix-cyclic-li.patch
|
||||||
|
(boo#1082307)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 13:03:51 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- removed u_mesa-8.0.1-fix-16bpp.patch and
|
||||||
|
u_mesa-8.0-llvmpipe-shmget.patch, which we no longer apply since
|
||||||
|
about 5 years (boo#1082305)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 12:01:29 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- recreated u_mesa-python3-only.patch and renamed to
|
||||||
|
u_r600-egd_tables.py-added-support-for-python-3.patch; also
|
||||||
|
removed first hunk (boo#1082303)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 10:51:04 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- removed n_Define-GLAPIVAR-separate-from-GLAPI.patch
|
||||||
|
* bits moved to libGLw's n_Use-newly-introduced-GLAPIVAR-for-variables.patch
|
||||||
|
(boo#1082297)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 19 23:24:22 UTC 2018 - schwab@suse.de
|
||||||
|
|
||||||
|
- Mesa-gallium only exists if %{with_opencl}
|
||||||
|
- Add support for riscv64
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 16 14:59:04 UTC 2018 - mstaudt@suse.com
|
Fri Feb 16 14:59:04 UTC 2018 - mstaudt@suse.com
|
||||||
|
|
||||||
|
@ -82,6 +82,12 @@
|
|||||||
%define with_llvm 1
|
%define with_llvm 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{with_opencl}
|
||||||
|
%define have_gallium 1
|
||||||
|
%else
|
||||||
|
%define have_gallium 0
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{drivers}
|
%if %{drivers}
|
||||||
%define glamor 0
|
%define glamor 0
|
||||||
%else
|
%else
|
||||||
@ -127,20 +133,14 @@ Source6: %{name}-rpmlintrc
|
|||||||
Source7: Mesa.keyring
|
Source7: Mesa.keyring
|
||||||
# to be upstreamed
|
# to be upstreamed
|
||||||
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
||||||
Patch12: u_add_llvm_codegen_dependencies.patch
|
Patch12: u_configure.ac-Link-to-libLLVMCodegen-to-fix-cyclic-li.patch
|
||||||
# Patch from Fedora, fix 16bpp in llvmpipe
|
|
||||||
Patch13: u_mesa-8.0.1-fix-16bpp.patch
|
|
||||||
# Patch from Fedora, use shmget when available, under llvmpipe
|
|
||||||
Patch15: u_mesa-8.0-llvmpipe-shmget.patch
|
|
||||||
# never to be upstreamed
|
# never to be upstreamed
|
||||||
Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch
|
Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch
|
||||||
# never to be upstreamed
|
|
||||||
Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch
|
|
||||||
# currently needed for libglvnd support
|
# currently needed for libglvnd support
|
||||||
Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
|
Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
|
||||||
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
|
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
|
||||||
# Upstream
|
# Upstream
|
||||||
Patch43: u_mesa-python3-only.patch
|
Patch43: u_r600-egd_tables.py-added-support-for-python-3.patch
|
||||||
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
|
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
|
||||||
Patch46: u_glsl-linker-error.patch
|
Patch46: u_glsl-linker-error.patch
|
||||||
|
|
||||||
@ -222,9 +222,6 @@ BuildRequires: pkgconfig(wayland-server) >= 1.11
|
|||||||
%if 0%{with_llvm}
|
%if 0%{with_llvm}
|
||||||
BuildRequires: llvm-devel >= 3.9.0
|
BuildRequires: llvm-devel >= 3.9.0
|
||||||
%endif
|
%endif
|
||||||
%ifarch aarch64 %arm ppc64 ppc64le s390x %ix86 x86_64
|
|
||||||
BuildRequires: ncurses-devel
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{with_opencl}
|
%if 0%{with_opencl}
|
||||||
BuildRequires: clang-devel
|
BuildRequires: clang-devel
|
||||||
@ -241,7 +238,9 @@ Requires: libglvnd >= 0.1.0
|
|||||||
# do not install recommends on their system still get working Mesa. It is
|
# do not install recommends on their system still get working Mesa. It is
|
||||||
# ignored in obs when Mesa is installed as build dependency.
|
# ignored in obs when Mesa is installed as build dependency.
|
||||||
Requires: Mesa-dri = %{version}
|
Requires: Mesa-dri = %{version}
|
||||||
|
%if 0%{have_gallium}
|
||||||
Requires: Mesa-gallium = %{version}
|
Requires: Mesa-gallium = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Mesa is a 3-D graphics library with an API which is very similar to
|
Mesa is a 3-D graphics library with an API which is very similar to
|
||||||
@ -602,7 +601,7 @@ implementation of Mesa.
|
|||||||
Summary: Mesa Direct3D9 state tracker
|
Summary: Mesa Direct3D9 state tracker
|
||||||
# Manually provide d3d library (bnc#918294)
|
# Manually provide d3d library (bnc#918294)
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
%ifarch x86_64 s390x ppc64le aarch64
|
%ifarch x86_64 s390x ppc64le aarch64 riscv64
|
||||||
Provides: d3dadapter9.so.1()(64bit)
|
Provides: d3dadapter9.so.1()(64bit)
|
||||||
%else
|
%else
|
||||||
Provides: d3dadapter9.so.1
|
Provides: d3dadapter9.so.1
|
||||||
@ -748,11 +747,8 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
|||||||
### order to figure out whether the issue is still reproducable and
|
### order to figure out whether the issue is still reproducable and
|
||||||
### hence a fix is required
|
### hence a fix is required
|
||||||
#%patch11 -p1
|
#%patch11 -p1
|
||||||
#%patch15 -p1
|
|
||||||
#%patch13 -p1
|
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch21 -p1
|
|
||||||
|
|
||||||
%if 0%{?libglvnd}
|
%if 0%{?libglvnd}
|
||||||
%patch31 -p1
|
%patch31 -p1
|
||||||
@ -845,7 +841,7 @@ export PYTHON2=/usr/bin/python3
|
|||||||
--with-dri-drivers=nouveau \
|
--with-dri-drivers=nouveau \
|
||||||
--with-gallium-drivers=r300,r600,nouveau,swrast \
|
--with-gallium-drivers=r300,r600,nouveau,swrast \
|
||||||
%endif
|
%endif
|
||||||
%ifarch ia64 ppc hppa s390 s390x
|
%ifarch ia64 ppc hppa s390 s390x riscv64
|
||||||
--with-dri-drivers=swrast \
|
--with-dri-drivers=swrast \
|
||||||
--with-gallium-drivers=swrast \
|
--with-gallium-drivers=swrast \
|
||||||
%endif
|
%endif
|
||||||
|
39
Mesa.changes
39
Mesa.changes
@ -1,3 +1,42 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 13:25:16 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- removed no longer needed ncurses-devel BuildRequires (boo#1082315)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 13:19:41 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- redone u_add_llvm_codegen_dependencies.patch and renamed to
|
||||||
|
u_configure.ac-Link-to-libLLVMCodegen-to-fix-cyclic-li.patch
|
||||||
|
(boo#1082307)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 13:03:51 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- removed u_mesa-8.0.1-fix-16bpp.patch and
|
||||||
|
u_mesa-8.0-llvmpipe-shmget.patch, which we no longer apply since
|
||||||
|
about 5 years (boo#1082305)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 12:01:29 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- recreated u_mesa-python3-only.patch and renamed to
|
||||||
|
u_r600-egd_tables.py-added-support-for-python-3.patch; also
|
||||||
|
removed first hunk (boo#1082303)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 23 10:51:04 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- removed n_Define-GLAPIVAR-separate-from-GLAPI.patch
|
||||||
|
* bits moved to libGLw's n_Use-newly-introduced-GLAPIVAR-for-variables.patch
|
||||||
|
(boo#1082297)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 19 23:24:22 UTC 2018 - schwab@suse.de
|
||||||
|
|
||||||
|
- Mesa-gallium only exists if %{with_opencl}
|
||||||
|
- Add support for riscv64
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 16 14:59:04 UTC 2018 - mstaudt@suse.com
|
Fri Feb 16 14:59:04 UTC 2018 - mstaudt@suse.com
|
||||||
|
|
||||||
|
28
Mesa.spec
28
Mesa.spec
@ -81,6 +81,12 @@
|
|||||||
%define with_llvm 1
|
%define with_llvm 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{with_opencl}
|
||||||
|
%define have_gallium 1
|
||||||
|
%else
|
||||||
|
%define have_gallium 0
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{drivers}
|
%if %{drivers}
|
||||||
%define glamor 0
|
%define glamor 0
|
||||||
%else
|
%else
|
||||||
@ -126,20 +132,14 @@ Source6: %{name}-rpmlintrc
|
|||||||
Source7: Mesa.keyring
|
Source7: Mesa.keyring
|
||||||
# to be upstreamed
|
# to be upstreamed
|
||||||
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
||||||
Patch12: u_add_llvm_codegen_dependencies.patch
|
Patch12: u_configure.ac-Link-to-libLLVMCodegen-to-fix-cyclic-li.patch
|
||||||
# Patch from Fedora, fix 16bpp in llvmpipe
|
|
||||||
Patch13: u_mesa-8.0.1-fix-16bpp.patch
|
|
||||||
# Patch from Fedora, use shmget when available, under llvmpipe
|
|
||||||
Patch15: u_mesa-8.0-llvmpipe-shmget.patch
|
|
||||||
# never to be upstreamed
|
# never to be upstreamed
|
||||||
Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch
|
Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch
|
||||||
# never to be upstreamed
|
|
||||||
Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch
|
|
||||||
# currently needed for libglvnd support
|
# currently needed for libglvnd support
|
||||||
Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
|
Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
|
||||||
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
|
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
|
||||||
# Upstream
|
# Upstream
|
||||||
Patch43: u_mesa-python3-only.patch
|
Patch43: u_r600-egd_tables.py-added-support-for-python-3.patch
|
||||||
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
|
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
|
||||||
Patch46: u_glsl-linker-error.patch
|
Patch46: u_glsl-linker-error.patch
|
||||||
|
|
||||||
@ -221,9 +221,6 @@ BuildRequires: pkgconfig(wayland-server) >= 1.11
|
|||||||
%if 0%{with_llvm}
|
%if 0%{with_llvm}
|
||||||
BuildRequires: llvm-devel >= 3.9.0
|
BuildRequires: llvm-devel >= 3.9.0
|
||||||
%endif
|
%endif
|
||||||
%ifarch aarch64 %arm ppc64 ppc64le s390x %ix86 x86_64
|
|
||||||
BuildRequires: ncurses-devel
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{with_opencl}
|
%if 0%{with_opencl}
|
||||||
BuildRequires: clang-devel
|
BuildRequires: clang-devel
|
||||||
@ -240,7 +237,9 @@ Requires: libglvnd >= 0.1.0
|
|||||||
# do not install recommends on their system still get working Mesa. It is
|
# do not install recommends on their system still get working Mesa. It is
|
||||||
# ignored in obs when Mesa is installed as build dependency.
|
# ignored in obs when Mesa is installed as build dependency.
|
||||||
Requires: Mesa-dri = %{version}
|
Requires: Mesa-dri = %{version}
|
||||||
|
%if 0%{have_gallium}
|
||||||
Requires: Mesa-gallium = %{version}
|
Requires: Mesa-gallium = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Mesa is a 3-D graphics library with an API which is very similar to
|
Mesa is a 3-D graphics library with an API which is very similar to
|
||||||
@ -601,7 +600,7 @@ implementation of Mesa.
|
|||||||
Summary: Mesa Direct3D9 state tracker
|
Summary: Mesa Direct3D9 state tracker
|
||||||
# Manually provide d3d library (bnc#918294)
|
# Manually provide d3d library (bnc#918294)
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
%ifarch x86_64 s390x ppc64le aarch64
|
%ifarch x86_64 s390x ppc64le aarch64 riscv64
|
||||||
Provides: d3dadapter9.so.1()(64bit)
|
Provides: d3dadapter9.so.1()(64bit)
|
||||||
%else
|
%else
|
||||||
Provides: d3dadapter9.so.1
|
Provides: d3dadapter9.so.1
|
||||||
@ -747,11 +746,8 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
|||||||
### order to figure out whether the issue is still reproducable and
|
### order to figure out whether the issue is still reproducable and
|
||||||
### hence a fix is required
|
### hence a fix is required
|
||||||
#%patch11 -p1
|
#%patch11 -p1
|
||||||
#%patch15 -p1
|
|
||||||
#%patch13 -p1
|
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch21 -p1
|
|
||||||
|
|
||||||
%if 0%{?libglvnd}
|
%if 0%{?libglvnd}
|
||||||
%patch31 -p1
|
%patch31 -p1
|
||||||
@ -844,7 +840,7 @@ export PYTHON2=/usr/bin/python3
|
|||||||
--with-dri-drivers=nouveau \
|
--with-dri-drivers=nouveau \
|
||||||
--with-gallium-drivers=r300,r600,nouveau,swrast \
|
--with-gallium-drivers=r300,r600,nouveau,swrast \
|
||||||
%endif
|
%endif
|
||||||
%ifarch ia64 ppc hppa s390 s390x
|
%ifarch ia64 ppc hppa s390 s390x riscv64
|
||||||
--with-dri-drivers=swrast \
|
--with-dri-drivers=swrast \
|
||||||
--with-gallium-drivers=swrast \
|
--with-gallium-drivers=swrast \
|
||||||
%endif
|
%endif
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
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
|
|
@ -1,12 +0,0 @@
|
|||||||
Index: mesa-17.0.4/configure.ac
|
|
||||||
===================================================================
|
|
||||||
--- mesa-17.0.4.orig/configure.ac
|
|
||||||
+++ mesa-17.0.4/configure.ac
|
|
||||||
@@ -918,6 +918,7 @@ llvm_add_default_components() {
|
|
||||||
|
|
||||||
# Required default components
|
|
||||||
llvm_add_component "bitwriter" $driver_name
|
|
||||||
+ llvm_add_component "codegen" $driver_name
|
|
||||||
llvm_add_component "engine" $driver_name
|
|
||||||
llvm_add_component "mcdisassembler" $driver_name
|
|
||||||
llvm_add_component "mcjit" $driver_name
|
|
27
u_configure.ac-Link-to-libLLVMCodegen-to-fix-cyclic-li.patch
Normal file
27
u_configure.ac-Link-to-libLLVMCodegen-to-fix-cyclic-li.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From 1431fecda9cd4c38eecb6bdc172a7af9ff72c056 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Dirsch <sndirsch@suse.de>
|
||||||
|
Date: Fri, 23 Feb 2018 14:15:19 +0100
|
||||||
|
Subject: [PATCH] configure.ac: Link to libLLVMCodegen to fix cyclic linking
|
||||||
|
problems
|
||||||
|
|
||||||
|
Patch by "Ismail Doenmez" <idonmez@suse.com>
|
||||||
|
https://bugzilla.suse.com/show_bug.cgi?id=1082307
|
||||||
|
---
|
||||||
|
configure.ac | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 8a9172690a..a23eb844d4 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -1032,6 +1032,7 @@ llvm_add_default_components() {
|
||||||
|
|
||||||
|
# Required default components
|
||||||
|
llvm_add_component "bitwriter" $driver_name
|
||||||
|
+ llvm_add_component "codegen" $driver_name
|
||||||
|
llvm_add_component "engine" $driver_name
|
||||||
|
llvm_add_component "mcdisassembler" $driver_name
|
||||||
|
llvm_add_component "mcjit" $driver_name
|
||||||
|
--
|
||||||
|
2.13.6
|
||||||
|
|
@ -1,217 +0,0 @@
|
|||||||
From c617fb498b2315efdccd799b8efb7a18a758fb36 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adam Jackson <ajax@redhat.com>
|
|
||||||
Date: Thu, 22 Mar 2012 09:29:19 +0000
|
|
||||||
Subject: [PATCHv4] glx: Use ShmGetImage if possible.
|
|
||||||
|
|
||||||
v2: Adam Jackson <ajax@redhat.com>
|
|
||||||
Fix image pitch bug.
|
|
||||||
|
|
||||||
v3: Adam Jackson <ajax@redhat.com>
|
|
||||||
Rediff for 8.1
|
|
||||||
|
|
||||||
v4: Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
|
||||||
The patch handles failing XShmAttach with a special error handler, but in case
|
|
||||||
of an error it called XShmDetach unconditionally and unprotected. As there is
|
|
||||||
no XSync it failed later on the first call to a function causing a XSync.
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=917687
|
|
||||||
Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=807205
|
|
||||||
---
|
|
||||||
|
|
||||||
NOTE:
|
|
||||||
v3 has not been applied on Fedora for a while (since 9.0):
|
|
||||||
http://pkgs.fedoraproject.org/cgit/mesa.git/commit/?h=f18&id=9058f5a
|
|
||||||
# this fastpath is:
|
|
||||||
# - broken with swrast classic
|
|
||||||
# - broken on 24bpp
|
|
||||||
# - not a huge win anyway
|
|
||||||
# - ABI-broken wrt upstream
|
|
||||||
# - eventually obsoleted by vgem
|
|
||||||
#
|
|
||||||
# dear ajax: fix this one way or the other
|
|
||||||
#patch9 -p1 -b .shmget
|
|
||||||
#patch12 -p1 -b .16bpp
|
|
||||||
|
|
||||||
v4 solves an issue on openSUSE:12.2.
|
|
||||||
|
|
||||||
---
|
|
||||||
src/gallium/state_trackers/dri/sw/drisw.c | 11 ---
|
|
||||||
src/glx/drisw_glx.c | 114 +++++++++++++++++++++++++++++-
|
|
||||||
2 files changed, 113 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/gallium/state_trackers/dri/sw/drisw.c b/src/gallium/state_trackers/dri/sw/drisw.c
|
|
||||||
index 41f66d5..28beb80 100644
|
|
||||||
--- a/src/gallium/state_trackers/dri/sw/drisw.c
|
|
||||||
+++ b/src/gallium/state_trackers/dri/sw/drisw.c
|
|
||||||
@@ -252,8 +252,6 @@ drisw_update_tex_buffer(struct dri_drawable *drawable,
|
|
||||||
struct pipe_transfer *transfer;
|
|
||||||
char *map;
|
|
||||||
int x, y, w, h;
|
|
||||||
- int ximage_stride, line;
|
|
||||||
- int cpp = util_format_get_blocksize(res->format);
|
|
||||||
|
|
||||||
get_drawable_info(dPriv, &x, &y, &w, &h);
|
|
||||||
|
|
||||||
@@ -265,15 +263,6 @@ drisw_update_tex_buffer(struct dri_drawable *drawable,
|
|
||||||
/* Copy the Drawable content to the mapped texture buffer */
|
|
||||||
get_image(dPriv, x, y, w, h, map);
|
|
||||||
|
|
||||||
- /* The pipe transfer has a pitch rounded up to the nearest 64 pixels.
|
|
||||||
- get_image() has a pitch rounded up to 4 bytes. */
|
|
||||||
- ximage_stride = ((w * cpp) + 3) & -4;
|
|
||||||
- for (line = h-1; line; --line) {
|
|
||||||
- memmove(&map[line * transfer->stride],
|
|
||||||
- &map[line * ximage_stride],
|
|
||||||
- ximage_stride);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
pipe_transfer_unmap(pipe, transfer);
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
|
|
||||||
index 0583cd1..5643f15 100644
|
|
||||||
--- a/src/glx/drisw_glx.c
|
|
||||||
+++ b/src/glx/drisw_glx.c
|
|
||||||
@@ -24,6 +24,9 @@
|
|
||||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
|
||||||
|
|
||||||
#include <X11/Xlib.h>
|
|
||||||
+#include <sys/ipc.h>
|
|
||||||
+#include <sys/shm.h>
|
|
||||||
+#include <X11/extensions/XShm.h>
|
|
||||||
#include "glxclient.h"
|
|
||||||
#include <dlfcn.h>
|
|
||||||
#include "dri_common.h"
|
|
||||||
@@ -206,6 +209,96 @@ swrastPutImage(__DRIdrawable * draw, int op,
|
|
||||||
ximage->data = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static int shm_error = 0;
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+shm_handler(Display *d, XErrorEvent *e)
|
|
||||||
+{
|
|
||||||
+ shm_error = 1;
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+align(int value, int alignment)
|
|
||||||
+{
|
|
||||||
+ return (value + alignment - 1) & ~(alignment - 1);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * Slight fast path. Short of changing how texture memory is allocated, we
|
|
||||||
+ * have two options for getting the pixels out. GetImage is clamped by the
|
|
||||||
+ * server's write buffer size, so you end up doing lots of relatively small
|
|
||||||
+ * requests (128k each or so), with two memcpys: down into the kernel, and
|
|
||||||
+ * then back up. ShmGetImage is one big blit into the shm segment (which
|
|
||||||
+ * could be GPU DMA, in principle) and then another one here.
|
|
||||||
+ */
|
|
||||||
+static Bool
|
|
||||||
+swrastShmGetImage(__DRIdrawable *read, char *data, struct drisw_drawable *prp)
|
|
||||||
+{
|
|
||||||
+ __GLXDRIdrawable *pread = &(prp->base);
|
|
||||||
+ Display *dpy = pread->psc->dpy;
|
|
||||||
+ XImage *ximage = prp->ximage;
|
|
||||||
+ unsigned long image_size = ximage->height * ximage->bytes_per_line;
|
|
||||||
+ Bool ret = 0;
|
|
||||||
+ XShmSegmentInfo seg = { 0, -1, (void *)-1, 0 };
|
|
||||||
+ int (*old_handler)(Display *, XErrorEvent *);
|
|
||||||
+
|
|
||||||
+ if (shm_error || !XShmQueryExtension(dpy))
|
|
||||||
+ goto out;
|
|
||||||
+
|
|
||||||
+ /* image setup */
|
|
||||||
+ seg.shmid = shmget(IPC_PRIVATE, image_size, IPC_CREAT | 0777);
|
|
||||||
+ if (seg.shmid < 0)
|
|
||||||
+ goto out;
|
|
||||||
+
|
|
||||||
+ seg.shmaddr = shmat(seg.shmid, NULL, 0);
|
|
||||||
+ if (seg.shmaddr == (void *)-1)
|
|
||||||
+ goto out;
|
|
||||||
+
|
|
||||||
+ XSync(dpy, 0);
|
|
||||||
+ old_handler = XSetErrorHandler(shm_handler);
|
|
||||||
+ XShmAttach(dpy, &seg);
|
|
||||||
+ XSync(dpy, 0);
|
|
||||||
+ XSetErrorHandler(old_handler);
|
|
||||||
+ if (shm_error)
|
|
||||||
+ goto out;
|
|
||||||
+
|
|
||||||
+ ximage->data = seg.shmaddr;
|
|
||||||
+ ximage->obdata = &seg;
|
|
||||||
+ if (!XShmGetImage(dpy, pread->xDrawable, ximage, 0, 0, -1))
|
|
||||||
+ goto out;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * ShmGetImage doesn't actually pay attention to ->bytes_per_line.
|
|
||||||
+ * We have to compensate for this somewhere since llvmpipe's natural
|
|
||||||
+ * tile width is 64. Do it here so we don't have to undo it with a
|
|
||||||
+ * bunch of memmove in the driver.
|
|
||||||
+ */
|
|
||||||
+ do {
|
|
||||||
+ int i;
|
|
||||||
+ char *src = ximage->data;
|
|
||||||
+ int dst_width = align(ximage->width * ximage->bits_per_pixel / 8, 256);
|
|
||||||
+
|
|
||||||
+ for (i = 0; i < ximage->height; i++) {
|
|
||||||
+ memcpy(data, src, ximage->bytes_per_line);
|
|
||||||
+ data += dst_width;
|
|
||||||
+ src += ximage->bytes_per_line;
|
|
||||||
+ }
|
|
||||||
+ } while (0);
|
|
||||||
+ ret = 1;
|
|
||||||
+
|
|
||||||
+out:
|
|
||||||
+ ximage->obdata = NULL;
|
|
||||||
+ ximage->data = NULL;
|
|
||||||
+ if (shm_error == 0)
|
|
||||||
+ XShmDetach(dpy, &seg);
|
|
||||||
+ if (seg.shmaddr != (void *)-1)
|
|
||||||
+ shmdt(seg.shmaddr);
|
|
||||||
+ if (seg.shmid > -1)
|
|
||||||
+ shmctl(seg.shmid, IPC_RMID, NULL);
|
|
||||||
+ return ret;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
swrastGetImage(__DRIdrawable * read,
|
|
||||||
int x, int y, int w, int h,
|
|
||||||
@@ -220,13 +313,32 @@ swrastGetImage(__DRIdrawable * read,
|
|
||||||
readable = pread->xDrawable;
|
|
||||||
|
|
||||||
ximage = prp->ximage;
|
|
||||||
- ximage->data = data;
|
|
||||||
ximage->width = w;
|
|
||||||
ximage->height = h;
|
|
||||||
ximage->bytes_per_line = bytes_per_line(w * ximage->bits_per_pixel, 32);
|
|
||||||
|
|
||||||
+ /* XXX check dimensions, if any caller ever sub-images */
|
|
||||||
+ if (swrastShmGetImage(read, data, prp))
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ /* shm failed, fall back to protocol */
|
|
||||||
+ ximage->data = data;
|
|
||||||
+
|
|
||||||
XGetSubImage(dpy, readable, x, y, w, h, ~0L, ZPixmap, ximage, 0, 0);
|
|
||||||
|
|
||||||
+ do {
|
|
||||||
+ int dst_width = align(ximage->width * ximage->bits_per_pixel / 8, 256);
|
|
||||||
+ int line;
|
|
||||||
+
|
|
||||||
+ if (dst_width != ximage->bytes_per_line) {
|
|
||||||
+ for (line = ximage->height-1; line; line--) {
|
|
||||||
+ memmove(&data[dst_width * line],
|
|
||||||
+ &data[ximage->bytes_per_line * line],
|
|
||||||
+ dst_width);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ } while (0);
|
|
||||||
+
|
|
||||||
ximage->data = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.1.4
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
|||||||
From 60fe1551667dba2cb9afa085fdff0cbc351a3e73 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adam Jackson <ajax@redhat.com>
|
|
||||||
Date: Mon, 2 Apr 2012 16:27:19 +0000
|
|
||||||
Subject: [PATCH 2/2] glx: Fix 16bpp in llvmpipe.
|
|
||||||
|
|
||||||
v2: Richard Hughes <richard@hughsie.com>
|
|
||||||
Rebuild with new git snapshot
|
|
||||||
- Remove upstreamed patches
|
|
||||||
|
|
||||||
v3: Johannes Obermayr <johannesobermayr@gmx.de>
|
|
||||||
Revert changes made in v2.
|
|
||||||
---
|
|
||||||
|
|
||||||
v2 has not been applied on Fedora for a while (since 9.0):
|
|
||||||
http://pkgs.fedoraproject.org/cgit/mesa.git/commit/?h=f18&id=9058f5a
|
|
||||||
# this fastpath is:
|
|
||||||
# - broken with swrast classic
|
|
||||||
# - broken on 24bpp
|
|
||||||
# - not a huge win anyway
|
|
||||||
# - ABI-broken wrt upstream
|
|
||||||
# - eventually obsoleted by vgem
|
|
||||||
#
|
|
||||||
# dear ajax: fix this one way or the other
|
|
||||||
#patch9 -p1 -b .shmget
|
|
||||||
#patch12 -p1 -b .16bpp
|
|
||||||
|
|
||||||
This "broken on 24bpp" could be because v2 removed changes which depend on
|
|
||||||
XShmGetImage patch. I assume Richard didn't notice this dependency and thought
|
|
||||||
changes were upstreamed:
|
|
||||||
http://pkgs.fedoraproject.org/cgit/mesa.git/commit/?id=43e76b8
|
|
||||||
So revert v2 and apply XShmGetImage patch before.
|
|
||||||
|
|
||||||
---
|
|
||||||
src/glx/drisw_glx.c | 4 +++-
|
|
||||||
src/mesa/state_tracker/st_manager.c | 3 +++
|
|
||||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
|
|
||||||
index 08fa1d9..f94fa4b 100644
|
|
||||||
--- a/src/glx/drisw_glx.c
|
|
||||||
+++ b/src/glx/drisw_glx.c
|
|
||||||
@@ -277,7 +277,9 @@ swrastShmGetImage(__DRIdrawable *read, char *data, struct drisw_drawable *prp)
|
|
||||||
do {
|
|
||||||
int i;
|
|
||||||
char *src = ximage->data;
|
|
||||||
- int dst_width = align(ximage->width * ximage->bits_per_pixel / 8, 256);
|
|
||||||
+ int bytes_per_pixel = ((ximage->bits_per_pixel + 7) / 8);
|
|
||||||
+ int dst_width = align(ximage->width * bytes_per_pixel,
|
|
||||||
+ 64 * bytes_per_pixel);
|
|
||||||
|
|
||||||
for (i = 0; i < ximage->height; i++) {
|
|
||||||
memcpy(data, src, ximage->bytes_per_line);
|
|
||||||
diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
|
|
||||||
index 9c2b4d2..c6a3189 100644
|
|
||||||
--- a/src/mesa/state_tracker/st_manager.c
|
|
||||||
+++ b/src/mesa/state_tracker/st_manager.c
|
|
||||||
@@ -512,6 +512,9 @@ st_context_teximage(struct st_context_iface *stctxi,
|
|
||||||
|
|
||||||
if (util_format_has_alpha(tex->format))
|
|
||||||
internalFormat = GL_RGBA;
|
|
||||||
+ else if (util_format_get_component_bits(pipe_format,
|
|
||||||
+ UTIL_FORMAT_COLORSPACE_RGB, 0) == 5)
|
|
||||||
+ internalFormat = GL_RGB5;
|
|
||||||
else
|
|
||||||
internalFormat = GL_RGB;
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.1.4
|
|
||||||
|
|
@ -1,13 +1,21 @@
|
|||||||
|
From c1714e8bf49fc0034c91ffed4adfbb067dbdf856 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Dirsch <sndirsch@suse.de>
|
||||||
|
Date: Fri, 23 Feb 2018 12:46:18 +0100
|
||||||
|
Subject: [PATCH] r600/egd_tables.py: added support for python 3
|
||||||
|
|
||||||
|
Patch by "Tomas Chvatal" <tchvatal@suse.com> with modifications
|
||||||
|
by "Michal Srb" <msrb@suse.com> to not break python 2.
|
||||||
|
https://bugzilla.suse.com/show_bug.cgi?id=1082303
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Dirsch <sndirsch@suse.de>
|
||||||
|
---
|
||||||
|
src/gallium/drivers/r600/egd_tables.py | 52 +++++++++++++++++-----------------
|
||||||
|
1 file changed, 26 insertions(+), 26 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/gallium/drivers/r600/egd_tables.py b/src/gallium/drivers/r600/egd_tables.py
|
diff --git a/src/gallium/drivers/r600/egd_tables.py b/src/gallium/drivers/r600/egd_tables.py
|
||||||
index d7b78c7fb1..7bda44ce83 100644
|
index d7b78c7fb1..b3b8b50292 100644
|
||||||
--- a/src/gallium/drivers/r600/egd_tables.py
|
--- a/src/gallium/drivers/r600/egd_tables.py
|
||||||
+++ b/src/gallium/drivers/r600/egd_tables.py
|
+++ b/src/gallium/drivers/r600/egd_tables.py
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-
|
|
||||||
+#!/usr/bin/python3
|
|
||||||
CopyRight = '''
|
|
||||||
/*
|
|
||||||
* Copyright 2015 Advanced Micro Devices, Inc.
|
|
||||||
@@ -60,7 +60,7 @@ class StringTable:
|
@@ -60,7 +60,7 @@ class StringTable:
|
||||||
"""
|
"""
|
||||||
fragments = [
|
fragments = [
|
||||||
@ -109,3 +117,6 @@ index d7b78c7fb1..7bda44ce83 100644
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
--
|
||||||
|
2.13.6
|
||||||
|
|
Loading…
Reference in New Issue
Block a user