Compare commits

..

2 commits

Author SHA1 Message Date
Lyude Paul
8f7ccc196d Enable building of freetype2 and wayland demos
Also-it appears in order to make this continue to both build the x11 and
wayland demos and not just one or the other, we need to start manually
specifying the options for %configure. We probably should have been
doing that from the start anyhow.
2018-11-19 15:51:52 -05:00
Lyude Paul
64331f3483 8.4.0 2018-11-19 15:51:43 -05:00
8 changed files with 146 additions and 386 deletions

6
.gitignore vendored
View file

@ -7,7 +7,5 @@ xdriinfo-1.0.3.tar.bz2
/mesa-demos-8.2.0.tar.bz2
/mesa-demos-20151203.tar.bz2
/mesa-demos-8.3.0.tar.bz2
/mesa-demos-20181118.tar.bz2
/mesa-demos-20210504.tar.bz2
/mesa-demos-8.5.0.tar.bz2
/mesa-demos-9.0.0.tar.xz
/mesa-demos-20171027.tar.bz2
/mesa-demos-8.4.0.tar.bz2

View file

@ -0,0 +1,19 @@
diff -up mesa-demos-6eef979a5488dab01088412f88374b2ea9d615cd/src/demos/Makefile.am.legal mesa-demos-6eef979a5488dab01088412f88374b2ea9d615cd/src/demos/Makefile.am
--- mesa-demos-6eef979a5488dab01088412f88374b2ea9d615cd/src/demos/Makefile.am.legal 2013-01-08 11:24:38.805867866 -0500
+++ mesa-demos-6eef979a5488dab01088412f88374b2ea9d615cd/src/demos/Makefile.am 2013-01-08 11:24:44.975870107 -0500
@@ -65,7 +65,6 @@ bin_PROGRAMS = \
multiarb \
paltex \
pixeltest \
- pointblast \
projtex \
ray \
readpix \
@@ -74,7 +73,6 @@ bin_PROGRAMS = \
shadowtex \
singlebuffer \
spectex \
- spriteblast \
stex3d \
teapot \
terrain \

View file

@ -1,28 +0,0 @@
diff --git a/src/demos/meson.build b/src/demos/meson.build
index 8f01036b..929f5405 100644
--- a/src/demos/meson.build
+++ b/src/demos/meson.build
@@ -28,7 +28,6 @@ progs = [
'copypix',
'cubemap',
'cuberender',
- 'dinoshade',
'dissolve',
'drawpix',
'engine',
@@ -52,7 +51,6 @@ progs = [
'multiarb',
'paltex',
'pixeltest',
- 'pointblast',
'projtex',
'ray',
'readpix',
@@ -61,7 +59,6 @@ progs = [
'shadowtex',
'singlebuffer',
'spectex',
- 'spriteblast',
'stex3d',
'teapot',
'terrain',

View file

@ -0,0 +1,13 @@
diff -up mesa-demos-8.1.0/configure.ac.jx mesa-demos-8.1.0/configure.ac
--- mesa-demos-8.1.0/configure.ac.jx 2013-02-24 05:49:47.000000000 -0500
+++ mesa-demos-8.1.0/configure.ac 2013-03-27 14:41:42.493936005 -0400
@@ -267,6 +267,9 @@ cygwin*)
;;
esac
+dnl i am somewhat surprised this works
+DEMO_LIBS="-Wl,--as-needed $DEMO_LIBS"
+
AC_SUBST([DEMO_CFLAGS])
AC_SUBST([DEMO_LIBS])
AC_SUBST([EGL_CFLAGS])

View file

@ -1,209 +0,0 @@
diff --git a/src/glsl/bezier.c b/src/glsl/bezier.c
index 84e0367..62996fb 100644
--- a/src/glsl/bezier.c
+++ b/src/glsl/bezier.c
@@ -13,7 +13,7 @@
#include "glut_wrap.h"
#include "shaderutil.h"
-static const char *filename = "bezier.geom";
+static const char *filename = DEMOS_DATA_DIR "bezier.geom";
static GLuint fragShader;
static GLuint vertShader;
diff --git a/src/glsl/blinking-teapot.c b/src/glsl/blinking-teapot.c
index 62451e9..3420066 100644
--- a/src/glsl/blinking-teapot.c
+++ b/src/glsl/blinking-teapot.c
@@ -63,8 +63,8 @@ init_opengl (void)
exit(1);
}
- vshad_id = CompileShaderFile (GL_VERTEX_SHADER, "blinking-teapot.vert");
- fshad_id = CompileShaderFile (GL_FRAGMENT_SHADER, "blinking-teapot.frag");
+ vshad_id = CompileShaderFile (GL_VERTEX_SHADER, DEMOS_DATA_DIR "blinking-teapot.vert");
+ fshad_id = CompileShaderFile (GL_FRAGMENT_SHADER, DEMOS_DATA_DIR "blinking-teapot.frag");
prog_id = LinkShaders (vshad_id, fshad_id);
glUseProgram (prog_id);
diff --git a/src/glsl/brick.c b/src/glsl/brick.c
index 00d8349..f9f0ec7 100644
--- a/src/glsl/brick.c
+++ b/src/glsl/brick.c
@@ -14,8 +14,8 @@
#include "shaderutil.h"
-static char *FragProgFile = "CH06-brick.frag";
-static char *VertProgFile = "CH06-brick.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "CH06-brick.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "CH06-brick.vert";
/* program/shader objects */
static GLuint fragShader;
diff --git a/src/glsl/bump.c b/src/glsl/bump.c
index 95ad19f..f40cba0 100644
--- a/src/glsl/bump.c
+++ b/src/glsl/bump.c
@@ -15,9 +15,9 @@
#include "readtex.h"
-static char *FragProgFile = "CH11-bumpmap.frag";
-static char *FragTexProgFile = "CH11-bumpmaptex.frag";
-static char *VertProgFile = "CH11-bumpmap.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "CH11-bumpmap.frag";
+static char *FragTexProgFile = DEMOS_DATA_DIR "CH11-bumpmaptex.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "CH11-bumpmap.vert";
static char *TextureFile = DEMOS_DATA_DIR "tile.rgb";
/* program/shader objects */
diff --git a/src/glsl/convolutions.c b/src/glsl/convolutions.c
index 567b358..4c681dd 100644
--- a/src/glsl/convolutions.c
+++ b/src/glsl/convolutions.c
@@ -340,7 +340,7 @@ static void init(void)
menuInit();
readTexture(textureLocation);
- createProgram("convolution.vert", "convolution.frag");
+ createProgram(DEMOS_DATA_DIR "convolution.vert", DEMOS_DATA_DIR "convolution.frag");
glEnable(GL_TEXTURE_2D);
glClearColor(1.0, 1.0, 1.0, 1.0);
diff --git a/src/glsl/mandelbrot.c b/src/glsl/mandelbrot.c
index 18b817c..6bbeffd 100644
--- a/src/glsl/mandelbrot.c
+++ b/src/glsl/mandelbrot.c
@@ -14,8 +14,8 @@
#include "shaderutil.h"
-static char *FragProgFile = "CH18-mandel.frag";
-static char *VertProgFile = "CH18-mandel.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "CH18-mandel.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "CH18-mandel.vert";
/* program/shader objects */
static GLuint fragShader;
diff --git a/src/glsl/meson.build b/src/glsl/meson.build
index db8c613..13564a4 100644
--- a/src/glsl/meson.build
+++ b/src/glsl/meson.build
@@ -83,3 +83,38 @@ executable(
],
install: true
)
+
+glsl_data = [
+ 'bezier.geom',
+ 'blinking-teapot.frag',
+ 'blinking-teapot.vert',
+ 'brick.shtest',
+ 'CH06-brick.frag',
+ 'CH06-brick.vert',
+ 'CH11-bumpmap.frag',
+ 'CH11-bumpmaptex.frag',
+ 'CH11-bumpmap.vert',
+ 'CH11-toyball.frag',
+ 'CH11-toyball.vert',
+ 'CH18-mandel.frag',
+ 'CH18-mandel.vert',
+ 'convolution.frag',
+ 'convolution.vert',
+ 'cubemap.frag',
+ 'mandelbrot.shtest',
+ 'multitex.frag',
+ 'multitex.shtest',
+ 'multitex.vert',
+ 'reflect.vert',
+ 'shadowtex.frag',
+ 'simple.vert',
+ 'simplex-noise.glsl',
+ 'skinning.frag',
+ 'skinning.vert',
+ 'toyball.shtest',
+]
+
+install_data(
+ glsl_data,
+ install_dir: get_option('datadir') / 'mesa-demos'
+)
diff --git a/src/glsl/multitex.c b/src/glsl/multitex.c
index 2f9a2fa..b51aba3 100644
--- a/src/glsl/multitex.c
+++ b/src/glsl/multitex.c
@@ -35,8 +35,8 @@
static const char *Demo = "multitex";
-static const char *VertFile = "multitex.vert";
-static const char *FragFile = "multitex.frag";
+static const char *VertFile = DEMOS_DATA_DIR "multitex.vert";
+static const char *FragFile = DEMOS_DATA_DIR "multitex.frag";
static const char *TexFiles[2] =
{
diff --git a/src/glsl/simplex-noise.c b/src/glsl/simplex-noise.c
index a687508..9a2a029 100644
--- a/src/glsl/simplex-noise.c
+++ b/src/glsl/simplex-noise.c
@@ -169,7 +169,7 @@ SpecialKey(int key, int x, int y)
static void
Init(void)
{
- const char *filename = "simplex-noise.glsl";
+ const char *filename = DEMOS_DATA_DIR "simplex-noise.glsl";
char noiseText[10000];
FILE *f;
int len;
diff --git a/src/glsl/skinning.c b/src/glsl/skinning.c
index b451d13..0f4e943 100644
--- a/src/glsl/skinning.c
+++ b/src/glsl/skinning.c
@@ -20,8 +20,8 @@
#define M_PI 3.1415926535
#endif
-static char *FragProgFile = "skinning.frag";
-static char *VertProgFile = "skinning.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "skinning.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "skinning.vert";
/* program/shader objects */
static GLuint fragShader;
diff --git a/src/glsl/texdemo1.c b/src/glsl/texdemo1.c
index 861d696..42308d1 100644
--- a/src/glsl/texdemo1.c
+++ b/src/glsl/texdemo1.c
@@ -35,11 +35,11 @@
static const char *Demo = "texdemo1";
-static const char *ReflectVertFile = "reflect.vert";
-static const char *CubeFragFile = "cubemap.frag";
+static const char *ReflectVertFile = DEMOS_DATA_DIR "reflect.vert";
+static const char *CubeFragFile = DEMOS_DATA_DIR "cubemap.frag";
-static const char *SimpleVertFile = "simple.vert";
-static const char *SimpleTexFragFile = "shadowtex.frag";
+static const char *SimpleVertFile = DEMOS_DATA_DIR "simple.vert";
+static const char *SimpleTexFragFile = DEMOS_DATA_DIR "shadowtex.frag";
static const char *GroundImage = DEMOS_DATA_DIR "tile.rgb";
diff --git a/src/glsl/toyball.c b/src/glsl/toyball.c
index 17aa765..5b1f7d3 100644
--- a/src/glsl/toyball.c
+++ b/src/glsl/toyball.c
@@ -14,8 +14,8 @@
#include "shaderutil.h"
-static char *FragProgFile = "CH11-toyball.frag";
-static char *VertProgFile = "CH11-toyball.vert";
+static char *FragProgFile = DEMOS_DATA_DIR "CH11-toyball.frag";
+static char *VertProgFile = DEMOS_DATA_DIR "CH11-toyball.vert";
/* program/shader objects */
static GLuint fragShader;

View file

@ -1,37 +1,34 @@
#%global gitdate 20171027
#%global gitcommit 22bc355f1b324b6ea07e063b5f20be757ea7a8e5
#%global shortcommit %(c=%{gitcommit}; echo ${c:0:7})
%global xdriinfo xdriinfo-1.0.4
%global demodir %{_libdir}/mesa
Summary: Mesa demos
Name: mesa-demos
Version: 9.0.0
Release: 10%{?dist}
# SPDX
Version: 8.4.0
Release: 1%{?dist}
License: MIT
Group: System Environment/Libraries
URL: http://www.mesa3d.org
Source: https://archive.mesa3d.org/demos/%{name}-%{version}.tar.xz
# Patch pointblast/spriteblast/dinoshade out for legal reasons
# (not in public domain)
Patch0: mesa-demos-8.5.0-legal.patch
# Install glsl demos data
Patch1: mesa-demos-system-data.patch
BuildRequires: meson
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig
Source0: https://mesa.freedesktop.org/archive/demos/%{name}-%{version}.tar.bz2
#Source0: mesa-demos-%{gitdate}.tar.bz2
Source1: http://www.x.org/pub/individual/app/%{xdriinfo}.tar.bz2
Source2: mesad-git-snapshot.sh
# Patch pointblast/spriteblast out of the Makefile for legal reasons
Patch0: mesa-demos-8.0.1-legal.patch
Patch1: mesa-demos-as-needed.patch
# Fix xdriinfo not working with libglvnd
Patch2: xdriinfo-1.0.4-glvnd.patch
BuildRequires: pkgconfig autoconf automake libtool
BuildRequires: freeglut-devel
BuildRequires: glslang
BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libEGL-devel
BuildRequires: mesa-libGLES-devel
BuildRequires: mesa-libgbm-devel
BuildRequires: libGLU-devel
BuildRequires: libXext-devel
BuildRequires: libdecor-devel
BuildRequires: libxcb-devel
BuildRequires: libxkbcommon-devel
BuildRequires: libxkbcommon-x11-devel
BuildRequires: vulkan-loader-devel
BuildRequires: glew-devel
BuildRequires: wayland-devel
BuildRequires: wayland-protocols-devel
BuildRequires: freetype-devel
%description
@ -39,63 +36,66 @@ This package provides some demo applications for testing Mesa.
%package -n glx-utils
Summary: GLX utilities
Group: Development/Libraries
Provides: glxinfo glxinfo%{?__isa_bits}
# mesa-demos' glx-utils used to provide xdriinfo for a long time, but that has
# always been an additional external source, so it was split into its own
# package.
# Recommend it here so that it still gets pulled at first for anyone expecting
# it to be there, but it doesn't need to be a hard requirement anymore.
Recommends: xdriinfo
%description -n glx-utils
The glx-utils package provides the glxinfo and glxgears utilities.
%package -n egl-utils
Summary: EGL utilities
Group: Development/Libraries
Provides: eglinfo es2_info
%description -n egl-utils
The egl-utils package provides the eglinfo, eglgears, es2_info and es2gears utilities.
The egl-utils package provides the eglinfo and es2_info utilities.
%prep
%setup -q -n %{name}-%{version}
%patch -P0 -p1 -b .legal
%patch -P1 -p1 -b .systemdata
%setup -q -n %{name}-%{version} -b1
%patch0 -p1 -b .legal
%patch1 -p1 -b .asneeded
pushd ../%{xdriinfo}
%patch2 -p1
popd
# These two files are distributable, but non-free (lack of permission to modify).
rm -rf src/demos/pointblast.c
rm -rf src/demos/spriteblast.c
%build
%meson \
autoreconf -vfi
%configure \
--bindir=%{demodir} \
-Dwith-system-data-files=true \
-Dx11=enabled \
-Dwayland=enabled \
-Degl=enabled \
-Dgles2=enabled \
-Dvulkan=enabled \
-Dlibdrm=enabled \
-Dosmesa=disabled
--with-system-data-files \
--enable-x11 \
--enable-wayland \
--enable-gbm \
--enable-egl \
--enable-gles2 \
--enable-libdrm \
--enable-freetype2
make %{?_smp_mflags}
%meson_build
pushd ../%{xdriinfo}
%configure
make %{?_smp_mflags}
popd
%install
%meson_install
make install DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/xdemos/glxgears %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/xdemos/glxinfo %{buildroot}%{_bindir}
pushd ../%{xdriinfo}
make %{?_smp_mflags} install DESTDIR=%{buildroot}
popd
install -m 0755 src/xdemos/glxgears %{buildroot}%{_bindir}
install -m 0755 src/xdemos/glxinfo %{buildroot}%{_bindir}
%if 0%{?__isa_bits} != 0
install -m 0755 %{_vpath_builddir}/src/xdemos/glxinfo %{buildroot}%{_bindir}/glxinfo%{?__isa_bits}
install -m 0755 src/xdemos/glxinfo %{buildroot}%{_bindir}/glxinfo%{?__isa_bits}
%endif
install -m 0755 %{_vpath_builddir}/src/egl/opengl/eglinfo %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/egl/opengl/eglgears_x11 %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/egl/opengl/eglgears_wayland %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/egl/opengles2/es2_info %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/egl/opengles2/es2gears_x11 %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/egl/opengles2/es2gears_wayland %{buildroot}%{_bindir}
install -m 0755 src/egl/opengl/eglinfo %{buildroot}%{_bindir}
install -m 0755 src/egl/opengles2/es2_info %{buildroot}%{_bindir}
%check
@ -106,106 +106,18 @@ install -m 0755 %{_vpath_builddir}/src/egl/opengles2/es2gears_wayland %{buildroo
%files -n glx-utils
%{_bindir}/glxinfo*
%{_bindir}/glxgears
%{_bindir}/xdriinfo
%{_datadir}/man/man1/xdriinfo.1*
%files -n egl-utils
%{_bindir}/eglinfo
%{_bindir}/eglgears_x11
%{_bindir}/eglgears_wayland
%{_bindir}/es2_info
%{_bindir}/es2gears_x11
%{_bindir}/es2gears_wayland
%changelog
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Apr 01 2024 José Relvas <jrelvas@proton.me> - 9.0.0-7
- Add eglgears and es2gears (eglgears_x11,eglgears_wayland,es2gears_x11,es2gears_wayland)
to egl-utils subpackage
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Oct 03 2023 Erico Nunes <ernunes@redhat.com> - 9.0.0-4
- Split xdriinfo into its own package
- Remove xdriinfo additional source build and autotools dependencies
* Thu Sep 07 2023 José Expósito <jexposit@redhat.com>
- SPDX migration: license is already SPDX compatible
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Apr 25 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 9.0.0-2
- Install all necessary shader files (#1373299)
* Mon Mar 27 2023 Erico Nunes <ernunes@redhat.com> - 9.0.0-1
- Update to 9.0.0
- Enable vulkan demos
* Fri Feb 03 2023 Erico Nunes <ernunes@redhat.com> - 8.5.0-1
- Update to 8.5.0
- Change build system to meson
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.0-15.20210504git0f9e7d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.0-14.20210504git0f9e7d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.0-13.20210504git0f9e7d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.0-12.20210504git0f9e7d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue May 04 2021 Adam Jackson <ajax@redhat.com> - 8.4.0-11.20210504git0f9e7d995a14f15
- Sync with upstream to drop the glew dependency
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.0-9.20181118git1830dcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Tom Stellard <tstellar@redhat.com> - 8.4.0-8.20181118git1830dcb
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.0-7.20181118git1830dcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.0-6.20181118git1830dcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Oct 04 2019 Gwyn Ciesla <gwync@protonmail.com> - 8.4.0-5.20181118git1830dcb
- Rebuilt for new freeglut.
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.0-4.20181118git1830dcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.0-3.20181118git1830dcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Nov 19 2018 Lyude Paul <lyude@redhat.com> - 8.4.0-2.20181118git1830dcb
- Start using proper git version strings for rawhide
* Mon Nov 19 2018 Lyude Paul <lyude@redhat.com> - 8.4.0-1
- 8.4.0
- Enabling building of wayland and freetype demos
* Sun Nov 18 2018 Lyude Paul <lyude@redhat.com> - 8.4.0-1
- New git snapshot
* Thu Aug 23 2018 Nicolas Chauvet <kwizart@gmail.com> - 8.3.0-12
- Rebuilt for glew 2.1.0
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8.3.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8.3.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

View file

@ -1 +1,2 @@
SHA512 (mesa-demos-9.0.0.tar.xz) = af33ef72a521416e39d93370b2b4ccb768f08084c9e4c0aa62868210d9465c858e5cb8e5d23952295a3073946f609eb8723ee60b39dd9fb6696c4e45aafbb2c1
SHA512 (xdriinfo-1.0.4.tar.bz2) = 7d998d89c539dbb93c00bc0dd237e086bc3c6e91c02c251448dc6e34cc8f89b2a752ab6f1d86cfb8a0d3d4373a167c9dda2f6f817626c3c7b5cd02a58bc1e6dd
SHA512 (mesa-demos-8.4.0.tar.bz2) = b72d03cad36e0535ff18dcfb222ec4200064b9264f6da51a6e5f03b0dd912abe188bc1d600b6698de3ce6f63b28d2ce01565886ca8e7079edc4967fbf2fb0957

View file

@ -0,0 +1,54 @@
diff -up xdriinfo-1.0.4/xdriinfo.c~ xdriinfo-1.0.4/xdriinfo.c
--- xdriinfo-1.0.4/xdriinfo.c~ 2009-10-16 23:39:10.000000000 +0200
+++ xdriinfo-1.0.4/xdriinfo.c 2017-03-13 12:01:53.419636100 +0100
@@ -101,23 +101,9 @@ int main (int argc, char *argv[]) {
return 1;
}
}
- /* if the argument to the options command is a driver name, we can handle
- * it without opening an X connection */
- if (func == OPTIONS && screenNum == -1) {
- const char *options = (*GetDriverConfig) (funcArg);
- if (!options) {
- fprintf (stderr,
- "Driver \"%s\" is not installed or does not support configuration.\n",
- funcArg);
- return 1;
- }
- printf ("%s", options);
- if (isatty (STDOUT_FILENO))
- printf ("\n");
- return 0;
- }
+
/* driver command needs a valid screen number */
- else if (func == DRIVER && screenNum == -1) {
+ if (func == DRIVER && screenNum == -1) {
fprintf (stderr, "Invalid screen number \"%s\".\n", funcArg);
return 1;
}
@@ -135,6 +121,9 @@ int main (int argc, char *argv[]) {
return 1;
}
+ /* Call glXGetClientString to load vendor libs on glvnd enabled systems */
+ glXGetClientString (dpy, GLX_EXTENSIONS);
+
switch (func) {
case NSCREENS:
printf ("%d", nScreens);
@@ -154,7 +143,13 @@ int main (int argc, char *argv[]) {
break;
}
case OPTIONS: {
- const char *name = (*GetScreenDriver) (dpy, screenNum), *options;
+ const char *name, *options;
+
+ if (screenNum == -1) {
+ name = funcArg;
+ } else {
+ name = (*GetScreenDriver) (dpy, screenNum);
+ }
if (!name) {
fprintf (stderr, "Screen \"%d\" is not direct rendering capable.\n",
screenNum);