summaryrefslogtreecommitdiffstats
path: root/src/render/materialsystem/qshaderprogram.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/materialsystem/qshaderprogram.h')
-rw-r--r--src/render/materialsystem/qshaderprogram.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/render/materialsystem/qshaderprogram.h b/src/render/materialsystem/qshaderprogram.h
index 49c1076e5..1fc40a216 100644
--- a/src/render/materialsystem/qshaderprogram.h
+++ b/src/render/materialsystem/qshaderprogram.h
@@ -60,6 +60,7 @@ class Q_3DRENDERSHARED_EXPORT QShaderProgram : public Qt3DCore::QNode
Q_PROPERTY(QByteArray computeShaderCode READ computeShaderCode WRITE setComputeShaderCode NOTIFY computeShaderCodeChanged)
Q_PROPERTY(QString log READ log NOTIFY logChanged REVISION 9)
Q_PROPERTY(Status status READ status NOTIFY statusChanged REVISION 9)
+ Q_PROPERTY(Format format READ format WRITE setFormat NOTIFY formatChanged REVISION 15)
public:
explicit QShaderProgram(Qt3DCore::QNode *parent = nullptr);
@@ -82,6 +83,12 @@ public:
};
Q_ENUM(Status) // LCOV_EXCL_LINE
+ enum Format {
+ GLSL = 0,
+ SPIRV
+ };
+ Q_ENUM(Format) // LCOV_EXCL_LINE
+
// Source code in-line
QByteArray vertexShaderCode() const;
QByteArray tessellationControlShaderCode() const;
@@ -96,6 +103,9 @@ public:
QString log() const;
Status status() const;
+ void setFormat(Format format);
+ Format format() const;
+
Q_INVOKABLE static QByteArray loadSource(const QUrl &sourceUrl);
public Q_SLOTS:
@@ -115,6 +125,7 @@ Q_SIGNALS:
void computeShaderCodeChanged(const QByteArray &computeShaderCode);
void logChanged(const QString &log);
void statusChanged(Status status);
+ void formatChanged(Format format);
protected:
explicit QShaderProgram(QShaderProgramPrivate &dd, Qt3DCore::QNode *parent = nullptr);