forked from qt-creator/qt-creator
Mipmap effects need layer.smooth and layer.mipmap to work correctly. Fixes: QDS-11793 Change-Id: I8f04ca9f144f51d0032d995c2bafdcb0c95ad73d Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
46 lines
1.0 KiB
C++
46 lines
1.0 KiB
C++
// Copyright (C) 2023 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
|
|
|
#pragma once
|
|
|
|
#include <QFlags>
|
|
#include <QString>
|
|
|
|
namespace EffectComposer {
|
|
|
|
class ShaderFeatures
|
|
{
|
|
public:
|
|
enum Feature {
|
|
Time = 1 << 0,
|
|
Frame = 1 << 1,
|
|
Resolution = 1 << 2,
|
|
Source = 1 << 3,
|
|
Mouse = 1 << 4,
|
|
FragCoord = 1 << 5,
|
|
GridMesh = 1 << 6,
|
|
BlurSources = 1 << 7,
|
|
Mipmap = 1 << 8
|
|
};
|
|
Q_DECLARE_FLAGS(Features, Feature)
|
|
|
|
ShaderFeatures();
|
|
void update(const QString &vs, const QString &fs, const QString &qml);
|
|
|
|
bool enabled(ShaderFeatures::Feature feature) const;
|
|
|
|
int gridMeshWidth() const;
|
|
|
|
int gridMeshHeight() const;
|
|
|
|
private:
|
|
void checkLine(const QString &line, ShaderFeatures::Features &features);
|
|
ShaderFeatures::Features m_enabledFeatures;
|
|
int m_gridMeshWidth = 1;
|
|
int m_gridMeshHeight = 1;
|
|
};
|
|
|
|
Q_DECLARE_OPERATORS_FOR_FLAGS(ShaderFeatures::Features)
|
|
} // namespace EffectComposer
|
|
|