Compare commits

...

No commits in common. 'c9' and 'cs10' have entirely different histories.
c9 ... cs10

3
.gitignore vendored

@ -1,2 +1 @@
SOURCES/mesa-demos-20210504.tar.bz2
SOURCES/xdriinfo-1.0.4.tar.bz2
SOURCES/mesa-demos-9.0.0.tar.xz

@ -1,2 +1 @@
1fc5c1a035d1adf024c1371de2709748074786d2 SOURCES/mesa-demos-20210504.tar.bz2
723482b3fc627d7cc6124fec43dd1c21d102daaa SOURCES/xdriinfo-1.0.4.tar.bz2
fad7fab5acae45312fccbe19f33218ce34980654 SOURCES/mesa-demos-9.0.0.tar.xz

@ -1,19 +0,0 @@
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 \

@ -0,0 +1,28 @@
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',

@ -1,13 +0,0 @@
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])

@ -0,0 +1,209 @@
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;

@ -1,22 +0,0 @@
#!/bin/sh
# Usage: ./make-git-snapshot.sh [COMMIT]
#
# to make a snapshot of the given tag/branch. Defaults to HEAD.
# Point env var REF to a local mesa repo to reduce clone time.
DIRNAME=mesa-demos-$( date +%Y%m%d )
echo REF ${REF:+--reference $REF}
echo DIRNAME $DIRNAME
echo HEAD ${1:-HEAD}
rm -rf $DIRNAME
git clone ${REF:+--reference $REF} \
git://git.freedesktop.org/git/mesa/demos $DIRNAME
GIT_DIR=$DIRNAME/.git git archive --format=tar --prefix=$DIRNAME/ ${1:-HEAD} \
| bzip2 > $DIRNAME.tar.bz2
# rm -rf $DIRNAME

@ -1,54 +0,0 @@
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);

@ -1,35 +1,37 @@
%global gitdate 20210504
%global gitcommit 0f9e7d995a14f15666600fc8598f941b619d82fe
%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: 8.4.0
Release: 12.%{gitdate}git%{shortcommit}%{?dist}
Version: 9.0.0
Release: 8%{?dist}
# SPDX
License: MIT
URL: http://www.mesa3d.org
#Source0: https://mesa.freedesktop.org/archive/demos/%{version}/%{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: make
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 autoconf automake libtool
BuildRequires: pkgconfig
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: wayland-devel
BuildRequires: wayland-protocols-devel
BuildRequires: freetype-devel
%description
@ -38,6 +40,12 @@ This package provides some demo applications for testing Mesa.
%package -n glx-utils
Summary: GLX utilities
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.
@ -50,51 +58,40 @@ Provides: eglinfo es2_info
The egl-utils package provides the eglinfo and es2_info utilities.
%prep
%setup -q -n %{name}-%{gitdate} -b1
%setup -q -n %{name}-%{version}
%patch0 -p1 -b .legal
%patch1 -p1 -b .asneeded
pushd ../%{xdriinfo}
%patch2 -p1
popd
%patch1 -p1 -b .systemdata
# 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
autoreconf -vfi
%configure \
%meson \
--bindir=%{demodir} \
--with-system-data-files \
--enable-x11 \
--enable-wayland \
--enable-gbm \
--enable-egl \
--enable-gles2 \
--enable-libdrm \
--enable-freetype2
%make_build
pushd ../%{xdriinfo}
%configure
%make_build
popd
-Dwith-system-data-files=true \
-Dx11=enabled \
-Dwayland=enabled \
-Degl=enabled \
-Dgles2=enabled \
-Dvulkan=enabled \
-Dlibdrm=enabled \
-Dosmesa=disabled
%install
%make_install
%meson_build
pushd ../%{xdriinfo}
%make_install %{?_smp_mflags}
popd
%install
%meson_install
install -m 0755 src/xdemos/glxgears %{buildroot}%{_bindir}
install -m 0755 src/xdemos/glxinfo %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/xdemos/glxgears %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/xdemos/glxinfo %{buildroot}%{_bindir}
%if 0%{?__isa_bits} != 0
install -m 0755 src/xdemos/glxinfo %{buildroot}%{_bindir}/glxinfo%{?__isa_bits}
install -m 0755 %{_vpath_builddir}/src/xdemos/glxinfo %{buildroot}%{_bindir}/glxinfo%{?__isa_bits}
%endif
install -m 0755 src/egl/opengl/eglinfo %{buildroot}%{_bindir}
install -m 0755 src/egl/opengles2/es2_info %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/egl/opengl/eglinfo %{buildroot}%{_bindir}
install -m 0755 %{_vpath_builddir}/src/egl/opengles2/es2_info %{buildroot}%{_bindir}
%check
@ -105,17 +102,57 @@ install -m 0755 src/egl/opengles2/es2_info %{buildroot}%{_bindir}
%files -n glx-utils
%{_bindir}/glxinfo*
%{_bindir}/glxgears
%{_bindir}/xdriinfo
%{_datadir}/man/man1/xdriinfo.1*
%files -n egl-utils
%{_bindir}/eglinfo
%{_bindir}/es2_info
%changelog
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 8.4.0-12.20210504git0f9e7d9
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 9.0.0-8
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 9.0.0-7
- Bump release for June 2024 mass rebuild
* 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

Loading…
Cancel
Save