Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qshaderdescription_p.h
Go to the documentation of this file.
1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QSHADERDESCRIPTION_P_H
5#define QSHADERDESCRIPTION_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of a number of Qt sources files. This header file may change from
13// version to version without notice, or even be removed.
14//
15// We mean it.
16//
17
19#include <QtCore/QList>
20#include <QtCore/QAtomicInt>
21#include <QtCore/QJsonDocument>
22
24
25struct Q_GUI_EXPORT QShaderDescriptionPrivate
26{
28 : ref(1)
29 {
30 }
31
33 : ref(1),
34 inVars(other.inVars),
35 outVars(other.outVars),
36 uniformBlocks(other.uniformBlocks),
37 pushConstantBlocks(other.pushConstantBlocks),
38 storageBlocks(other.storageBlocks),
39 combinedImageSamplers(other.combinedImageSamplers),
40 separateImages(other.separateImages),
41 separateSamplers(other.separateSamplers),
42 storageImages(other.storageImages),
43 inBuiltins(other.inBuiltins),
44 outBuiltins(other.outBuiltins),
45 localSize(other.localSize),
46 tessOutVertCount(other.tessOutVertCount),
47 tessMode(other.tessMode),
48 tessWind(other.tessWind),
49 tessPart(other.tessPart)
50 {
51 }
52
53 static QShaderDescriptionPrivate *get(QShaderDescription *desc) { return desc->d; }
54 static const QShaderDescriptionPrivate *get(const QShaderDescription *desc) { return desc->d; }
55
56 QJsonDocument makeDoc();
57 void writeToStream(QDataStream *stream, int version);
58 void loadFromStream(QDataStream *stream, int version);
59
61 QList<QShaderDescription::InOutVariable> inVars;
62 QList<QShaderDescription::InOutVariable> outVars;
63 QList<QShaderDescription::UniformBlock> uniformBlocks;
64 QList<QShaderDescription::PushConstantBlock> pushConstantBlocks;
65 QList<QShaderDescription::StorageBlock> storageBlocks;
66 QList<QShaderDescription::InOutVariable> combinedImageSamplers;
67 QList<QShaderDescription::InOutVariable> separateImages;
68 QList<QShaderDescription::InOutVariable> separateSamplers;
69 QList<QShaderDescription::InOutVariable> storageImages;
70 QList<QShaderDescription::BuiltinVariable> inBuiltins;
71 QList<QShaderDescription::BuiltinVariable> outBuiltins;
72 std::array<uint, 3> localSize = {};
73 uint tessOutVertCount = 0;
77};
78
80
81#endif
\inmodule QtCore
Definition qatomic.h:112
\inmodule QtCore\reentrant
Definition qdatastream.h:46
\inmodule QtCore\reentrant
TessellationWindingOrder
\value UnknownTessellationWindingOrder \value CwTessellationWindingOrder \value CcwTessellationWindin...
TessellationMode
\value UnknownTessellationMode \value TrianglesTessellationMode \value QuadTessellationMode \value Is...
TessellationPartitioning
\value UnknownTessellationPartitioning \value EqualTessellationPartitioning \value FractionalEvenTess...
Combined button and popup list for selecting options.
EGLStreamKHR stream
GLint ref
unsigned int uint
Definition qtypes.h:34
QSharedPointer< T > other(t)
[5]
QList< QShaderDescription::InOutVariable > separateImages
QList< QShaderDescription::InOutVariable > inVars
QList< QShaderDescription::StorageBlock > storageBlocks
static QShaderDescriptionPrivate * get(QShaderDescription *desc)
QList< QShaderDescription::BuiltinVariable > inBuiltins
QList< QShaderDescription::InOutVariable > combinedImageSamplers
QList< QShaderDescription::BuiltinVariable > outBuiltins
QList< QShaderDescription::InOutVariable > outVars
static const QShaderDescriptionPrivate * get(const QShaderDescription *desc)
QList< QShaderDescription::InOutVariable > storageImages
QList< QShaderDescription::UniformBlock > uniformBlocks
QList< QShaderDescription::InOutVariable > separateSamplers
QList< QShaderDescription::PushConstantBlock > pushConstantBlocks
QShaderDescriptionPrivate(const QShaderDescriptionPrivate &other)