Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

10 changed files with 294 additions and 66 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/libglvnd-1.3.4.tar.gz
libglvnd-*.tar.gz

View File

@ -1 +0,0 @@
876cde82fa46b891fdb4ea3e58a4adfc7fffea25 SOURCES/libglvnd-1.3.4.tar.gz

View File

@ -0,0 +1,44 @@
From 7107f739398cd96600b039fd748cb1c4822bb400 Mon Sep 17 00:00:00 2001
From: Guillaume Gardet <guillaume.gardet@arm.com>
Date: Fri, 21 Jan 2022 09:26:07 +0100
Subject: [PATCH] Add BTI landing pads for aarch64
When Branch Target Identifier (BTI) is enabled on aarch64,
any software which run libglvnd will fail with SIGILL, Illegal instruction.
This is because some assembler code misses the BTI landing pads.
See: https://developer.arm.com/documentation/102433/0100/Jump-oriented-programming
"hint #34" is the same thing as "BTI C" landing pad, but keep
compatibility with systems without BTI enabled.
---
src/GLX/glvnd_genentry.c | 1 +
src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/GLX/glvnd_genentry.c b/src/GLX/glvnd_genentry.c
index 7bbe811..b82aa14 100644
--- a/src/GLX/glvnd_genentry.c
+++ b/src/GLX/glvnd_genentry.c
@@ -90,6 +90,7 @@ extern char glx_entrypoint_end[];
#define STUB_SIZE 16
#define STUB_ASM_ARCH(slot) \
+ "hint #34\n" \
"adrp x16, entrypointFunctions + " slot "*8\n" \
"ldr x16, [x16, #:lo12:(entrypointFunctions + " slot "*8)]\n" \
"br x16\n"
diff --git a/src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c b/src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c
index ae80131..a4652e0 100644
--- a/src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c
+++ b/src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c
@@ -69,6 +69,7 @@
* table then does a branch without link to the function address.
*/
#define STUB_ASM_CODE(slot) \
+ "hint #34\n\t" \
"stp x1, x0, [sp, #-16]!\n\t" \
"adrp x0, :got:_glapi_Current\n\t" \
"ldr x0, [x0, #:got_lo12:_glapi_Current]\n\t" \
--
GitLab

71
autotools_py3.patch Normal file
View File

@ -0,0 +1,71 @@
From 90f973f74d88d5f7085220fb606b0bbc0d3c1646 Mon Sep 17 00:00:00 2001
From: Mathieu Bridon <bochecha@daitauha.fr>
Date: Thu, 16 Aug 2018 13:55:15 +0200
Subject: [PATCH] build: Find Python the Autotools way
An added advantage to this is that it makes it really easy to build with
Python 3, the same way other Autotools projects support it:
$ export PYTHON=/usr/bin/python3
$ ./configure
---
configure.ac | 2 +-
src/EGL/Makefile.am | 4 ++--
src/GL/Makefile.am | 3 +--
src/GLdispatch/vnd-glapi/Makefile.am | 2 +-
4 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index 05efca0..149e345 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@ AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
AC_PROG_MKDIR_P
-AC_CHECK_PROGS([PYTHON2], [python2.7 python2 python])
+AM_PATH_PYTHON([2.7])
if test "x$ac_cv_prog_cc_c99" = xno; then
AC_MSG_ERROR([Building libglvnd requires a C99-enabled compiler])
diff --git a/src/EGL/Makefile.am b/src/EGL/Makefile.am
index 1a2ee7c..6ade4cc 100644
--- a/src/EGL/Makefile.am
+++ b/src/EGL/Makefile.am
@@ -100,7 +100,7 @@ GENERATE_DEPS = \
$(GENERATE_LIST_FILES)
g_egldispatchstubs.c : $(GENERATE_DEPS)
- $(VM_V_GEN)$(PYTHON2) $(GENERATE_DISPATCH_SCRIPT) source $(GENERATE_LIST_FILES) > $@
+ $(VM_V_GEN)$(PYTHON) $(GENERATE_DISPATCH_SCRIPT) source $(GENERATE_LIST_FILES) > $@
g_egldispatchstubs.h : $(GENERATE_DEPS)
- $(VM_V_GEN)$(PYTHON2) $(GENERATE_DISPATCH_SCRIPT) header $(GENERATE_LIST_FILES) > $@
+ $(VM_V_GEN)$(PYTHON) $(GENERATE_DISPATCH_SCRIPT) header $(GENERATE_LIST_FILES) > $@
diff --git a/src/GL/Makefile.am b/src/GL/Makefile.am
index 769dcb6..854d8b7 100644
--- a/src/GL/Makefile.am
+++ b/src/GL/Makefile.am
@@ -50,8 +50,7 @@ glapi_gen_libglglxstubs_deps = \
$(glapi_gen_glx_xml)
g_libglglxwrapper.c : $(glapi_gen_libglglxstubs_deps)
- $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) \
- $(glapi_gen_libglglxstubs_script) $(glapi_gen_glx_xml) > $@
+ $(AM_V_GEN)$(PYTHON) $(PYTHON_FLAGS) $(glapi_gen_libglglxstubs_script) $(glapi_gen_glx_xml) > $@
libGL_la_CFLAGS = \
-I$(top_srcdir)/include
diff --git a/src/GLdispatch/vnd-glapi/Makefile.am b/src/GLdispatch/vnd-glapi/Makefile.am
index 7a40611..b799b81 100644
--- a/src/GLdispatch/vnd-glapi/Makefile.am
+++ b/src/GLdispatch/vnd-glapi/Makefile.am
@@ -12,7 +12,7 @@ glapi_gen_mapi_deps = \
$(glapi_gen_mapi_script) \
$(top_srcdir)/src/generate/genCommon.py \
$(glapi_gen_gl_xml)
-glapi_gen_mapi = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) $(glapi_gen_mapi_script)
+glapi_gen_mapi = $(AM_V_GEN)$(PYTHON) $(PYTHON_FLAGS) $(glapi_gen_mapi_script)
noinst_HEADERS = \
glapi.h \

View File

@ -0,0 +1,37 @@
From a527411da713b2068974c46d7129326520dc5923 Mon Sep 17 00:00:00 2001
From: Ronan Pigott <rpigott@berkeley.edu>
Date: Wed, 18 Nov 2020 11:05:59 -0700
Subject: [PATCH] egl: use device dispatch if at least one vendor suceeds
Currently, in InitDeviceListInternal if any egl vendor fails to list
its devices for any reason the construction of the device list is
abandoned. That means that even if we have one vendor successfully
serving the application, the failure of another vendor library will
break any api calls related to egl devices.
Instead, if a vendor fails queryDevicesEXT the device mapping logic
should proceed as if it listed no devices. If the relevant device
belongs to the failed vendor then the dispatch will still fail with
EGL_BAD_DEVICE.
---
src/EGL/libeglmapping.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/EGL/libeglmapping.c b/src/EGL/libeglmapping.c
index c736172..7cf5a87 100644
--- a/src/EGL/libeglmapping.c
+++ b/src/EGL/libeglmapping.c
@@ -276,7 +276,9 @@ static EGLBoolean AddVendorDevices(__EGLvendorInfo *vendor)
}
if (!vendor->staticDispatch.queryDevicesEXT(0, NULL, &count)) {
- return EGL_FALSE;
+ // Even if this vendor fails, we can still return the devices from any
+ // other vendors
+ return EGL_TRUE;
}
if (count <= 0) {
return EGL_TRUE;
--
GitLab

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}

View File

@ -1,52 +1,35 @@
#global commit0 5baa1e5cfc422eb53e66f12ffb80c93d4a693cd9
#global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
%global commit0 faa23f21fc677af5792825dc30cb1ccef4bf33a6
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
%if 0%{?rhel} && 0%{?rhel} <= 7
%global _without_mesa_glvnd_default 1
%endif
Name: libglvnd
Version: 1.3.4
Release: 2%{?commit0:.git%{shortcommit0}}%{?dist}
Version: 1.7.0
Release: 6%{?dist}
# Provide an upgrade path from the negativo17.org pkgs which have Epoch 1
Epoch: 1
Summary: The GL Vendor-Neutral Dispatch library
License: MIT
URL: https://github.com/NVIDIA/libglvnd
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
#Source0: %%{url}/archive/%%{commit0}.tar.gz#/%%{name}-%%{shortcommit0}.tar.gz
Patch0: libglvnd-python3.patch
License: MIT-feh AND MIT-Modern-Variant AND BSD-1-Clause AND BSD-3-Clause AND GPL-3.0-or-later WITH Autoconf-exception-macro
URL: https://gitlab.freedesktop.org/glvnd/libglvnd
Source0: %{url}/-/archive/v%{version}/%{name}-%{version}.tar.gz
Patch1: 0001-glx-Add-another-fallback-library-name.patch
BuildRequires: make
BuildRequires: libtool
BuildRequires: gcc
BuildRequires: python3-devel
BuildRequires: python3-rpm-macros
BuildRequires: python3-libxml2
BuildRequires: pkgconfig(glproto)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: xorg-x11-server-Xvfb
%if (0%{?rhel} && 0%{?rhel} <= 6)
BuildRequires: autoconf268
%endif
# X11 testing
BuildRequires: mesa-dri-drivers
BuildRequires: mutter
BuildRequires: xwayland-run
%{?_without_mesa_glvnd_default:
%if (0%{?rhel} && 0%{?rhel} <= 6)
%{?filter_setup:
%filter_provides_in %{_libdir}/%{name}
%filter_requires_in %{_libdir}/%{name}
%filter_setup
}
%else
%global __provides_exclude_from %{_libdir}/%{name}
%global __requires_exclude_from %{_libdir}/%{name}
%endif
}
%description
@ -73,10 +56,6 @@ Provides: mesa-khr-devel = %{epoch}:%{version}-%{release}
Provides: mesa-khr-devel%{?_isa} = %{epoch}:%{version}-%{release}
Provides: libGLES-devel = %{epoch}:%{version}-%{release}
Provides: libGLES-devel%{?_isa} = %{epoch}:%{version}-%{release}
Conflicts: mesa-libEGL-devel < 19.3.0-rc1
Conflicts: mesa-libGL-devel < 19.3.0-rc1
Conflicts: mesa-libGLES-devel < 19.3.0-rc1
Conflicts: mesa-khr-devel < 19.3.0-rc1
%description devel
The %{name}-devel package contains libraries and header files for
@ -107,7 +86,7 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%{!?_without_mesa_glvnd_default:
# mesa is the default EGL implementation provider
Requires: mesa-libEGL%{?_isa} >= 13.0.4-1
Obsoletes: mesa-libGLES < 19.2.2-2
Obsoletes: mesa-libGLES < 19.3.0~rc1
Provides: mesa-libGLES
Provides: mesa-libGLES%{?_isa}
Provides: libGLES
@ -147,14 +126,11 @@ libGL and libGLX are the common dispatch interface for the GLX API.
%prep
%autosetup -p1 -n %{name}-%{?commit0}%{?!commit0:%{version}}
%if 0%{?rhel} == 6
autoreconf268 -vif
%else
%autosetup -p1 -n %{name}-v%{version}-%{?commit0}
autoreconf -vif
%endif
%build
export PYTHON=%{__python3}
#Prefer asm and tls for x86* and ppc64*
#armhfp and aarch64 fallback to asm and tsd
#Others arches fallback to pure-c and tls.
@ -188,7 +164,7 @@ mkdir -p %{buildroot}%{_datadir}/egl/egl_external_platform.d/
%check
export DO_X11_TESTS=1
xvfb-run -s '-screen 0 640x480x24' -d make check V=1 || \
xwfb-run -c mutter make check V=1 || \
%ifarch s390x ppc64
:
%else
@ -267,40 +243,134 @@ xvfb-run -s '-screen 0 640x480x24' -d make check V=1 || \
%changelog
* Wed Feb 21 2024 José Expósito <jexposit@redhat.com> - 1.3.4-2
- Fix BuildRequires for python3-devel
Resolves: RHEL-2239
* Wed Aug 07 2024 José Expósito <jexposit@redhat.com> - 1:1.7.0-6
- Move away from xvfb-run
* Wed Nov 17 2021 Dave Airlie <airlied@redhat.com> - 1.3.4-1
- Update to 1.3.4 release
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1:1.7.0-5
- Bump release for June 2024 mass rebuild
* Mon Nov 16 2020 Dave Airlie <airlied@redhat.com> - 1.3.2-1
- Update to 1.3.2 release
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.7.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Nov 25 2019 Dave Airlie <airlied@redhat.com> - 1.2.0-6
- version provides
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.7.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Nov 23 2019 Dave Airlie <airlied@redhat.com> - 1.2.0-5
- Add another conflict
* Fri Sep 15 2023 Dave Airlie <airlied@redhat.com> - 1:1.7.0-2
- SPDX license update
* Sat Nov 23 2019 Dave Airlie <airlied@redhat.com> - 1.2.0-4
- conflict
* Thu Sep 14 2023 Nicolas Chauvet <kwizart@gmail.com> - 1:1.7.0-1
- Update to 1.7.0
* Fri Nov 22 2019 Dave Airlie <airlied@redhat.com> - 1.2.0-3
- more conflicts
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Nov 22 2019 Dave Airlie <airlied@redhat.com> - 1.2.0-2
- add conflicts
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Nov 22 2019 Dave Airlie <airlied@redhat.com> - 1.2.0-1
* Tue Nov 22 2022 Nicolas Chauvet <kwizart@gmail.com> - 1:1.6.0-1
- Update to 1.6.0
* Tue Aug 23 2022 Nicolas Chauvet <kwizart@gmail.com> - 1:1.5.0-1
- Update to 1.5.0
* Fri Aug 12 2022 Nicolas Chauvet <kwizart@gmail.com> - 1:1.4.0-4
- Backport patch for BTI enabled aarch64 hw - rhbz#2111900
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.4.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 20 2021 Nicolas Chauvet <kwizart@gmail.com> - 1:1.4.0-1
- Update to 1.4.0
* Sun Oct 24 2021 Leigh Scott <leigh123linux@gmail.com> - 1:1.3.4-2
- Rebuilt
* Wed Aug 25 2021 Nicolas Chauvet <kwizart@gmail.com> - 1:1.3.4-1
- Update to 1.3.4
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat May 01 2021 Nicolas Chauvet <kwizart@gmail.com> - 1:1.3.3-1
- Update to 1.3.3
* Mon Apr 19 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 1:1.3.2-4
- Add upstream patch to fix egl call failures with nvidia libs installed
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.3.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jun 29 2020 Nicolas Chauvet <kwizart@gmail.com> - 1:1.3.2-1
- Update to 1.3.2
* Fri May 08 2020 Nicolas Chauvet <kwizart@gmail.com> - 1:1.3.1-2
- Forward few patches from rhel
* Mon Feb 24 2020 Nicolas Chauvet <kwizart@gmail.com> - 1:1.3.1-1
- Update to 1.3.1
* Wed Feb 19 2020 Kalev Lember <klember@redhat.com> - 1:1.3.0-1
- Update to 1.3.0
* Wed Feb 19 2020 Kalev Lember <klember@redhat.com> - 1:1.2.0-10
- Bump mesa-libGLES obsoletes version as well
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.2.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Nov 01 2019 Pete Walter <pwalter@fedoraproject.org> - 1:1.2.0-8
- Bump mesa-libGLES-devel and mesa-khr-devel obsoletes versions
* Sat Oct 26 2019 Nicolas Chauvet <kwizart@gmail.com> - 1:1.2.0-7
- Move from core to main
* Fri Oct 25 2019 Peter Robinson <pbrobinson@gmail.com> - 1:1.2.0-6
- Add %%{?_isa} too, just for fun!
* Fri Oct 25 2019 Peter Robinson <pbrobinson@gmail.com> - 1:1.2.0-5
- provides shouldn't have been versioned
* Fri Oct 25 2019 Peter Robinson <pbrobinson@gmail.com> - 1:1.2.0-4
- Also provide old libGLES-devel
* Fri Oct 25 2019 Peter Robinson <pbrobinson@gmail.com> - 1:1.2.0-4
- Obsolete/Provide the bits moved from mesa so builds don't break
* Fri Oct 25 2019 Pete Walter <pwalter@fedoraproject.org> - 1:1.2.0-2
- Sync headers with mesa
* Thu Oct 24 2019 Leigh Scott <leigh123linux@gmail.com> - 1:1.2.0-1
- libglvnd 1.2.0
* Tue Aug 14 2018 Petr Viktorin <pviktori@redhat.com> - 1.0.1-0.9.git5baa1e5
- Fix BuildRequires for /usr/bin/python3
- Resolves: #1615543
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Jul 24 2018 Dave Airlie <airlied@redhat.com> - 1.0.1-0.8.git5baa1e5
- rename fallback to system
* Thu Mar 14 2019 Adam Jackson <ajax@redhat.com> - 1.1.1-4
- libglvnd 1.1.1
* Thu Feb 14 2019 Nicolas Chauvet <kwizart@gmail.com> - 1:1.1.0-4.gitf92208b
- Update snapshot
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Aug 16 2018 Leigh Scott <leigh123linux@googlemail.com> - 1:1.1.0-2
- Add upstream python3 PR
* Thu Aug 09 2018 Leigh Scott <leigh123linux@googlemail.com> - 1:1.1.0-1
- Update to 1.1.0 release
* Tue Jul 24 2018 Dave Airlie <airlied@redhat.com> - 1.0.1-0.9.git5baa1e5
- rename fallback from fedora to system
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.0.1-0.8.git5baa1e5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jun 14 2018 Adam Jackson <ajax@redhat.com> - 1.0.1-0.7.git5baa1e5
- Add another fallback GLX library name

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (libglvnd-1.7.0.tar.gz) = 8ad2e64d5fc2c70918383170a8e335e63e5de151855bcc7140321e08f1ea91cc464a643edf060e2d4289e59011cd42e0edadb268c0067d5515141071825ce747