termux-packages/x11-packages/kirigami2/no_opengl.patch

191 lines
6.2 KiB
Diff
Raw Normal View History

2021-05-19 15:01:40 +02:00
Qt on Termux doesn't have OpenGL. This dirty patch comments out all OpenGL related code so
it can be compiled. However, this means the Kirigami 2 might not function completely or
correctly.
--- src/src/scenegraph/shadowedrectanglematerial.cpp 2021-05-19 13:40:06.865745704 +0100
+++ src.mod/src/scenegraph/shadowedrectanglematerial.cpp 2021-05-19 13:41:00.549263960 +0100
@@ -6,7 +6,9 @@
#include "shadowedrectanglematerial.h"
+#ifndef __ANDROID__
#include <QOpenGLContext>
+#endif
QSGMaterialType ShadowedRectangleMaterial::staticType;
@@ -43,6 +45,7 @@
ShadowedRectangleShader::ShadowedRectangleShader()
{
+#ifndef __ANDROID__
auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl");
auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/");
@@ -57,6 +60,7 @@
shaderRoot + QStringLiteral("sdf.glsl"),
shaderRoot + QStringLiteral("shadowedrectangle.frag")
});
+#endif
}
const char *const * ShadowedRectangleShader::attributeNames() const
@@ -68,6 +72,7 @@
void ShadowedRectangleShader::initialize()
{
QSGMaterialShader::initialize();
+#ifndef __ANDROID__
m_matrixLocation = program()->uniformLocation("matrix");
m_aspectLocation = program()->uniformLocation("aspect");
m_opacityLocation = program()->uniformLocation("opacity");
@@ -76,10 +81,12 @@
m_colorLocation = program()->uniformLocation("color");
m_shadowColorLocation = program()->uniformLocation("shadowColor");
m_offsetLocation = program()->uniformLocation("offset");
+#endif
}
void ShadowedRectangleShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial)
{
+#ifndef __ANDROID__
auto p = program();
if (state.isMatrixDirty()) {
@@ -99,4 +106,5 @@
p->setUniformValue(m_shadowColorLocation, material->shadowColor);
p->setUniformValue(m_offsetLocation, material->offset);
}
+#endif
}
--- src/src/scenegraph/shadowedrectanglematerial.h 2021-05-19 13:40:06.865745704 +0100
+++ src.mod/src/scenegraph/shadowedrectanglematerial.h 2021-05-19 13:33:30.284974868 +0100
@@ -9,6 +9,7 @@
#include <QSGMaterial>
#include <QSGMaterialShader>
#include <QColor>
+#include <QVector2D>
/**
* A material rendering a rectangle with a shadow.
--- src/src/scenegraph/shadowedborderrectanglematerial.cpp 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/scenegraph/shadowedborderrectanglematerial.cpp 2021-05-19 13:47:43.418072767 +0100
@@ -6,7 +6,9 @@
#include "shadowedborderrectanglematerial.h"
+#ifndef __ANDROID__
#include <QOpenGLContext>
+#endif
QSGMaterialType ShadowedBorderRectangleMaterial::staticType;
@@ -42,6 +44,7 @@
ShadowedBorderRectangleShader::ShadowedBorderRectangleShader()
{
+#ifndef __ANDROID__
auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl");
auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/");
@@ -51,19 +54,23 @@
shaderRoot + QStringLiteral("sdf.glsl"),
shaderRoot + QStringLiteral("shadowedborderrectangle.frag")
});
+#endif
}
void ShadowedBorderRectangleShader::initialize()
{
ShadowedRectangleShader::initialize();
+#ifndef __ANDROID__
m_borderWidthLocation = program()->uniformLocation("borderWidth");
m_borderColorLocation = program()->uniformLocation("borderColor");
+#endif
}
void ShadowedBorderRectangleShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial)
{
ShadowedRectangleShader::updateState(state, newMaterial, oldMaterial);
+#ifndef __ANDROID__
auto p = program();
if (!oldMaterial || newMaterial->compare(oldMaterial) != 0 || state.isCachedMaterialDataDirty()) {
@@ -71,4 +78,5 @@
p->setUniformValue(m_borderWidthLocation, material->borderWidth);
p->setUniformValue(m_borderColorLocation, material->borderColor);
}
+#endif
}
--- src/src/scenegraph/shadowedtexturematerial.cpp 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/scenegraph/shadowedtexturematerial.cpp 2021-05-19 13:50:42.636813685 +0100
@@ -6,7 +6,9 @@
#include "shadowedtexturematerial.h"
+#ifndef __ANDROID__
#include <QOpenGLContext>
+#endif
QSGMaterialType ShadowedTextureMaterial::staticType;
@@ -44,6 +46,7 @@
ShadowedTextureShader::ShadowedTextureShader()
{
+#ifndef __ANDROID__
auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl");
auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/");
@@ -58,12 +61,15 @@
shaderRoot + QStringLiteral("sdf.glsl"),
shaderRoot + QStringLiteral("shadowedtexture.frag")
});
+#endif
}
void ShadowedTextureShader::initialize()
{
ShadowedRectangleShader::initialize();
+#ifndef __ANDROID__
program()->setUniformValue("textureSource", 0);
+#endif
}
void ShadowedTextureShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial)
--- src/src/scenegraph/shadowedbordertexturematerial.cpp 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/scenegraph/shadowedbordertexturematerial.cpp 2021-05-19 13:52:35.692051057 +0100
@@ -6,7 +6,9 @@
#include "shadowedbordertexturematerial.h"
+#ifndef __ANDROID__
#include <QOpenGLContext>
+#endif
QSGMaterialType ShadowedBorderTextureMaterial::staticType;
@@ -44,6 +46,7 @@
ShadowedBorderTextureShader::ShadowedBorderTextureShader()
{
+#ifndef __ANDROID__
auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl");
auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/");
@@ -58,12 +61,15 @@
shaderRoot + QStringLiteral("sdf.glsl"),
shaderRoot + QStringLiteral("shadowedbordertexture.frag")
});
+#endif
}
void ShadowedBorderTextureShader::initialize()
{
ShadowedBorderRectangleShader::initialize();
+#ifndef __ANDROID__
program()->setUniformValue("textureSource", 0);
+#endif
}
void ShadowedBorderTextureShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial)