mirror of
https://github.com/termux/termux-packages.git
synced 2024-11-13 14:09:19 +00:00
4433a0ddd4
This fixes the demos which require shader files. For example,
$ mandelbrot
Unable to open shader file CH18-mandel.vert
Unable to open shader file CH18-mandel.frag
mandelbrot: ../mesa-demos-9.0.0/src/util/shaderutil.c:116:
LinkShaders3: Assertion `vertShader || fragShader' failed.
Aborted (core dumped)
The issue was first reported in the following bug report.
https://bugzilla.redhat.com/show_bug.cgi?id=1373299
It was fixed in the following commit of Fedora 39.
30fa49f5fd
210 lines
6.3 KiB
Diff
210 lines
6.3 KiB
Diff
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;
|