Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
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
// Qt-Security score:significant reason:default
4
5
#
ifndef
QSHADERDESCRIPTION_P_H
6
#
define
QSHADERDESCRIPTION_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists for the convenience
13
// of a number of Qt sources files. This header file may change from
14
// version to version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
rhi
/
qshaderdescription
.
h
>
20
#
include
<
QtCore
/
QList
>
21
#
include
<
QtCore
/
QAtomicInt
>
22
#
include
<
QtCore
/
QJsonDocument
>
23
24
QT_BEGIN_NAMESPACE
25
26
struct
Q_GUI_EXPORT
QShaderDescriptionPrivate
27
{
28
QShaderDescriptionPrivate()
29
: ref(1)
30
{
31
}
32
33
QShaderDescriptionPrivate(
const
QShaderDescriptionPrivate &other)
34
: ref(1),
35
inVars(other.inVars),
36
outVars(other.outVars),
37
uniformBlocks(other.uniformBlocks),
38
pushConstantBlocks(other.pushConstantBlocks),
39
storageBlocks(other.storageBlocks),
40
combinedImageSamplers(other.combinedImageSamplers),
41
separateImages(other.separateImages),
42
separateSamplers(other.separateSamplers),
43
storageImages(other.storageImages),
44
inBuiltins(other.inBuiltins),
45
outBuiltins(other.outBuiltins),
46
localSize(other.localSize),
47
tessOutVertCount(other.tessOutVertCount),
48
tessMode(other.tessMode),
49
tessWind(other.tessWind),
50
tessPart(other.tessPart)
51
{
52
}
53
54
static
QShaderDescriptionPrivate *get(QShaderDescription *desc) {
return
desc->d; }
55
static
const
QShaderDescriptionPrivate *get(
const
QShaderDescription *desc) {
return
desc->d; }
56
57
QJsonDocument makeDoc();
58
void
writeToStream
(QDataStream *stream,
int
version);
59
void
loadFromStream
(QDataStream *stream,
int
version);
60
61
QAtomicInt
ref
;
62
QList
<
QShaderDescription
::
InOutVariable
>
inVars
;
63
QList
<
QShaderDescription
::
InOutVariable
>
outVars
;
64
QList
<
QShaderDescription
::
UniformBlock
>
uniformBlocks
;
65
QList
<
QShaderDescription
::
PushConstantBlock
>
pushConstantBlocks
;
66
QList
<
QShaderDescription
::
StorageBlock
>
storageBlocks
;
67
QList
<
QShaderDescription
::
InOutVariable
>
combinedImageSamplers
;
68
QList
<
QShaderDescription
::
InOutVariable
>
separateImages
;
69
QList
<
QShaderDescription
::
InOutVariable
>
separateSamplers
;
70
QList
<
QShaderDescription
::
InOutVariable
>
storageImages
;
71
QList
<
QShaderDescription
::
BuiltinVariable
>
inBuiltins
;
72
QList
<
QShaderDescription
::
BuiltinVariable
>
outBuiltins
;
73
std
::
array
<
uint
, 3>
localSize
= {};
74
uint
tessOutVertCount
= 0;
75
QShaderDescription
::
TessellationMode
tessMode
= QShaderDescription::UnknownTessellationMode;
76
QShaderDescription
::
TessellationWindingOrder
tessWind
= QShaderDescription::UnknownTessellationWindingOrder;
77
QShaderDescription
::
TessellationPartitioning
tessPart
= QShaderDescription::UnknownTessellationPartitioning;
78
};
79
80
QT_END_NAMESPACE
81
82
#
endif
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
operator<<
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
Definition
qfileinfo.cpp:1830
tessModeStr
static QLatin1StringView tessModeStr(QShaderDescription::TessellationMode mode)
Definition
qshaderdescription.cpp:1150
tessPartStr
static QLatin1StringView tessPartStr(QShaderDescription::TessellationPartitioning p)
Definition
qshaderdescription.cpp:1187
serializeBlockMemberVar
static void serializeBlockMemberVar(QDataStream *stream, const QShaderDescription::BlockVariable &v)
Definition
qshaderdescription.cpp:1465
builtinTypeStr
static QLatin1StringView builtinTypeStr(QShaderDescription::BuiltinType t)
Definition
qshaderdescription.cpp:1131
inOutObject
static QJsonObject inOutObject(const QShaderDescription::InOutVariable &v)
Definition
qshaderdescription.cpp:1435
serializeBuiltinVar
static void serializeBuiltinVar(QDataStream *stream, const QShaderDescription::BuiltinVariable &v, int version)
Definition
qshaderdescription.cpp:1395
JSON_KEY
#define JSON_KEY(key)
Definition
qshaderdescription.cpp:1318
builtinObject
static QJsonObject builtinObject(const QShaderDescription::BuiltinVariable &v)
Definition
qshaderdescription.cpp:1450
serializeDecorations
static void serializeDecorations(QDataStream *stream, const QShaderDescription::InOutVariable &v, int version)
Definition
qshaderdescription.cpp:1381
imageFormatStr
static QLatin1StringView imageFormatStr(QShaderDescription::ImageFormat f)
Definition
qshaderdescription.cpp:1086
blockMemberObject
static QJsonObject blockMemberObject(const QShaderDescription::BlockVariable &v)
Definition
qshaderdescription.cpp:1406
addDeco
static void addDeco(QJsonObject *obj, const QShaderDescription::InOutVariable &v)
Definition
qshaderdescription.cpp:1359
tessWindStr
static QLatin1StringView tessWindStr(QShaderDescription::TessellationWindingOrder w)
Definition
qshaderdescription.cpp:1168
typeStr
static QLatin1StringView typeStr(QShaderDescription::VariableType t)
Definition
qshaderdescription.cpp:1031
BuiltinTypeTab
Definition
qshaderdescription.cpp:1095
BuiltinTypeTab::k
const char k[21]
Definition
qshaderdescription.cpp:1096
ImageFormatTab
Definition
qshaderdescription.cpp:1040
ImageFormatTab::k
const char k[15]
Definition
qshaderdescription.cpp:1041
QImageData::ref
QAtomicInt ref
Definition
qimage_p.h:44
QShaderDescriptionPrivate
Definition
qshaderdescription_p.h:27
QShaderDescriptionPrivate::separateImages
QList< QShaderDescription::InOutVariable > separateImages
Definition
qshaderdescription_p.h:68
QShaderDescriptionPrivate::inVars
QList< QShaderDescription::InOutVariable > inVars
Definition
qshaderdescription_p.h:62
QShaderDescriptionPrivate::localSize
std::array< uint, 3 > localSize
Definition
qshaderdescription_p.h:73
QShaderDescriptionPrivate::storageBlocks
QList< QShaderDescription::StorageBlock > storageBlocks
Definition
qshaderdescription_p.h:66
QShaderDescriptionPrivate::loadFromStream
void loadFromStream(QDataStream *stream, int version)
Definition
qshaderdescription.cpp:1842
QShaderDescriptionPrivate::tessMode
QShaderDescription::TessellationMode tessMode
Definition
qshaderdescription_p.h:75
QShaderDescriptionPrivate::inBuiltins
QList< QShaderDescription::BuiltinVariable > inBuiltins
Definition
qshaderdescription_p.h:71
QShaderDescriptionPrivate::writeToStream
void writeToStream(QDataStream *stream, int version)
Definition
qshaderdescription.cpp:1645
QShaderDescriptionPrivate::combinedImageSamplers
QList< QShaderDescription::InOutVariable > combinedImageSamplers
Definition
qshaderdescription_p.h:67
QShaderDescriptionPrivate::tessOutVertCount
uint tessOutVertCount
Definition
qshaderdescription_p.h:74
QShaderDescriptionPrivate::outBuiltins
QList< QShaderDescription::BuiltinVariable > outBuiltins
Definition
qshaderdescription_p.h:72
QShaderDescriptionPrivate::outVars
QList< QShaderDescription::InOutVariable > outVars
Definition
qshaderdescription_p.h:63
QShaderDescriptionPrivate::storageImages
QList< QShaderDescription::InOutVariable > storageImages
Definition
qshaderdescription_p.h:70
QShaderDescriptionPrivate::tessPart
QShaderDescription::TessellationPartitioning tessPart
Definition
qshaderdescription_p.h:77
QShaderDescriptionPrivate::uniformBlocks
QList< QShaderDescription::UniformBlock > uniformBlocks
Definition
qshaderdescription_p.h:64
QShaderDescriptionPrivate::separateSamplers
QList< QShaderDescription::InOutVariable > separateSamplers
Definition
qshaderdescription_p.h:69
QShaderDescriptionPrivate::pushConstantBlocks
QList< QShaderDescription::PushConstantBlock > pushConstantBlocks
Definition
qshaderdescription_p.h:65
QShaderDescriptionPrivate::tessWind
QShaderDescription::TessellationWindingOrder tessWind
Definition
qshaderdescription_p.h:76
TessellationModeTab
Definition
qshaderdescription.cpp:1140
TessellationModeTab::k
const char k[10]
Definition
qshaderdescription.cpp:1141
TessellationPartitioningTab
Definition
qshaderdescription.cpp:1177
TessellationPartitioningTab::k
const char k[24]
Definition
qshaderdescription.cpp:1178
TessellationWindingOrderTab
Definition
qshaderdescription.cpp:1159
TessellationWindingOrderTab::k
const char k[8]
Definition
qshaderdescription.cpp:1160
TypeTab
Definition
qshaderdescription.cpp:948
TypeTab::k
const char k[20]
Definition
qshaderdescription.cpp:949
qtbase
src
gui
rhi
qshaderdescription_p.h
Generated on
for Qt by
1.18.0