Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qrhinull_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 QRHINULL_P_H
6#define QRHINULL_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 purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include "qrhi_p.h"
20
22
23struct QNullBuffer : public QRhiBuffer
24{
25 QNullBuffer(QRhiImplementation *rhi, Type type, UsageFlags usage, quint32 size);
26 ~QNullBuffer();
27 void destroy() override;
28 bool create() override;
30
31 char *data = nullptr;
32};
33
35{
36 QNullRenderBuffer(QRhiImplementation *rhi, Type type, const QSize &pixelSize,
37 int sampleCount, QRhiRenderBuffer::Flags flags,
38 QRhiTexture::Format backingFormatHint);
40 void destroy() override;
41 bool create() override;
42 QRhiTexture::Format backingFormat() const override;
43
44 bool valid = false;
45 uint generation = 0;
46};
47
49{
50 QNullTexture(QRhiImplementation *rhi, Format format, const QSize &pixelSize, int depth,
51 int arraySize, int sampleCount, Flags flags);
52 ~QNullTexture();
53 void destroy() override;
54 bool create() override;
55 bool createFrom(NativeTexture src) override;
56
57 bool valid = false;
59 uint generation = 0;
60};
61
63{
64 QNullSampler(QRhiImplementation *rhi, Filter magFilter, Filter minFilter, Filter mipmapMode,
65 AddressMode u, AddressMode v, AddressMode w);
66 ~QNullSampler();
67 void destroy() override;
68 bool create() override;
69};
70
72{
73 QNullRenderPassDescriptor(QRhiImplementation *rhi);
75 void destroy() override;
76 bool isCompatible(const QRhiRenderPassDescriptor *other) const override;
78 QVector<quint32> serializedFormat() const override;
79};
80
90
92{
93 QNullSwapChainRenderTarget(QRhiImplementation *rhi, QRhiSwapChain *swapchain);
95 void destroy() override;
96
97 QSize pixelSize() const override;
98 float devicePixelRatio() const override;
99 int sampleCount() const override;
100
102};
103
105{
106 QNullTextureRenderTarget(QRhiImplementation *rhi, const QRhiTextureRenderTargetDescription &desc, Flags flags);
108 void destroy() override;
109
110 QSize pixelSize() const override;
111 float devicePixelRatio() const override;
112 int sampleCount() const override;
113
115 bool create() override;
116
118};
119
121{
122 QNullShaderResourceBindings(QRhiImplementation *rhi);
124 void destroy() override;
125 bool create() override;
126 void updateResources(UpdateFlags flags) override;
127};
128
130{
131 QNullGraphicsPipeline(QRhiImplementation *rhi);
133 void destroy() override;
134 bool create() override;
135};
136
138{
139 QNullComputePipeline(QRhiImplementation *rhi);
141 void destroy() override;
142 bool create() override;
143};
144
146{
147 QNullCommandBuffer(QRhiImplementation *rhi);
149 void destroy() override;
150};
151
153{
154 QNullSwapChain(QRhiImplementation *rhi);
156 void destroy() override;
157
158 QRhiCommandBuffer *currentFrameCommandBuffer() override;
160
161 QSize surfacePixelSize() override;
162 bool isFormatSupported(Format f) override;
163
166
167 QWindow *window = nullptr;
170 int frameCount = 0;
171};
172
174{
175public:
176 QRhiNull(QRhiNullInitParams *params);
177
178 bool create(QRhi::Flags flags) override;
179 void destroy() override;
180
184 QRhiBuffer *createBuffer(QRhiBuffer::Type type,
185 QRhiBuffer::UsageFlags usage,
186 quint32 size) override;
187 QRhiRenderBuffer *createRenderBuffer(QRhiRenderBuffer::Type type,
188 const QSize &pixelSize,
189 int sampleCount,
190 QRhiRenderBuffer::Flags flags,
191 QRhiTexture::Format backingFormatHint) override;
192 QRhiTexture *createTexture(QRhiTexture::Format format,
193 const QSize &pixelSize,
194 int depth,
195 int arraySize,
196 int sampleCount,
197 QRhiTexture::Flags flags) override;
198 QRhiSampler *createSampler(QRhiSampler::Filter magFilter,
199 QRhiSampler::Filter minFilter,
200 QRhiSampler::Filter mipmapMode,
201 QRhiSampler:: AddressMode u,
202 QRhiSampler::AddressMode v,
203 QRhiSampler::AddressMode w) override;
204
205 QRhiTextureRenderTarget *createTextureRenderTarget(const QRhiTextureRenderTargetDescription &desc,
206 QRhiTextureRenderTarget::Flags flags) override;
207
208 QRhiShadingRateMap *createShadingRateMap() override;
209
210 QRhiSwapChain *createSwapChain() override;
211 QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override;
212 QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override;
213 QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override;
214 QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override;
215 QRhi::FrameOpResult finish() override;
216
217 void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
218
219 void beginPass(QRhiCommandBuffer *cb,
220 QRhiRenderTarget *rt,
221 const QColor &colorClearValue,
222 const QRhiDepthStencilClearValue &depthStencilClearValue,
223 QRhiResourceUpdateBatch *resourceUpdates,
224 QRhiCommandBuffer::BeginPassFlags flags) override;
225 void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
226
227 void setGraphicsPipeline(QRhiCommandBuffer *cb,
228 QRhiGraphicsPipeline *ps) override;
229
230 void setShaderResources(QRhiCommandBuffer *cb,
231 QRhiShaderResourceBindings *srb,
232 int dynamicOffsetCount,
233 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets) override;
234
235 void setVertexInput(QRhiCommandBuffer *cb,
236 int startBinding, int bindingCount, const QRhiCommandBuffer::VertexInput *bindings,
237 QRhiBuffer *indexBuf, quint32 indexOffset,
238 QRhiCommandBuffer::IndexFormat indexFormat) override;
239
240 void setViewport(QRhiCommandBuffer *cb, const QRhiViewport &viewport) override;
241 void setScissor(QRhiCommandBuffer *cb, const QRhiScissor &scissor) override;
242 void setBlendConstants(QRhiCommandBuffer *cb, const QColor &c) override;
243 void setStencilRef(QRhiCommandBuffer *cb, quint32 refValue) override;
244 void setShadingRate(QRhiCommandBuffer *cb, const QSize &coarsePixelSize) override;
245
246 void draw(QRhiCommandBuffer *cb, quint32 vertexCount,
247 quint32 instanceCount, quint32 firstVertex, quint32 firstInstance) override;
248
249 void drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount,
250 quint32 instanceCount, quint32 firstIndex,
251 qint32 vertexOffset, quint32 firstInstance) override;
252
253 void debugMarkBegin(QRhiCommandBuffer *cb, const QByteArray &name) override;
254 void debugMarkEnd(QRhiCommandBuffer *cb) override;
255 void debugMarkMsg(QRhiCommandBuffer *cb, const QByteArray &msg) override;
256
257 void beginComputePass(QRhiCommandBuffer *cb,
258 QRhiResourceUpdateBatch *resourceUpdates,
259 QRhiCommandBuffer::BeginPassFlags flags) override;
260 void endComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
261 void setComputePipeline(QRhiCommandBuffer *cb, QRhiComputePipeline *ps) override;
262 void dispatch(QRhiCommandBuffer *cb, int x, int y, int z) override;
263
264 const QRhiNativeHandles *nativeHandles(QRhiCommandBuffer *cb) override;
265 void beginExternal(QRhiCommandBuffer *cb) override;
266 void endExternal(QRhiCommandBuffer *cb) override;
267 double lastCompletedGpuTime(QRhiCommandBuffer *cb) override;
268
269 QList<int> supportedSampleCounts() const override;
270 QList<QSize> supportedShadingRates(int sampleCount) const override;
271 int ubufAlignment() const override;
272 bool isYUpInFramebuffer() const override;
273 bool isYUpInNDC() const override;
274 bool isClipDepthZeroToOne() const override;
275 QMatrix4x4 clipSpaceCorrMatrix() const override;
276 bool isTextureFormatSupported(QRhiTexture::Format format, QRhiTexture::Flags flags) const override;
277 bool isFeatureSupported(QRhi::Feature feature) const override;
278 int resourceLimit(QRhi::ResourceLimit limit) const override;
279 const QRhiNativeHandles *nativeHandles() override;
280 QRhiDriverInfo driverInfo() const override;
281 QRhiStats statistics() override;
283 void setQueueSubmitParams(QRhiNativeHandles *params) override;
285 bool isDeviceLost() const override;
286
287 QByteArray pipelineCacheData() override;
288 void setPipelineCacheData(const QByteArray &data) override;
289
293
295 QRhiSwapChain *currentSwapChain = nullptr;
297};
298
299QT_END_NAMESPACE
300
301#endif
friend bool operator==(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept
Returns true if lhs and rhs are equal, otherwise returns false.
Definition qbytearray.h:807
friend bool operator!=(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept
Returns true if lhs and rhs are different, otherwise returns false.
Definition qbytearray.h:818
QRhiBackendCommandList()=default
T * cend() const
Definition qrhi_p.h:777
T * cbegin() const
Definition qrhi_p.h:776
bool isEmpty() const
Definition qrhi_p.h:762
void assign(QByteArray data)
Definition qrhi_p.h:398
QRhiBufferData()=default
void assign(const char *s, quint32 size)
Definition qrhi_p.h:379
quint32 size() const
Definition qrhi_p.h:371
QRhiBufferData(const QRhiBufferData &other)
Definition qrhi_p.h:350
quint32 largeAlloc() const
Definition qrhi_p.h:375
QRhiBufferData & operator=(const QRhiBufferData &other)
Definition qrhi_p.h:356
const char * constData() const
Definition qrhi_p.h:367
void setShaderResources(QRhiCommandBuffer *cb, QRhiShaderResourceBindings *srb, int dynamicOffsetCount, const QRhiCommandBuffer::DynamicOffset *dynamicOffsets) override
Definition qrhinull.cpp:259
double lastCompletedGpuTime(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:380
QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override
Definition qrhinull.cpp:409
bool isFeatureSupported(QRhi::Feature feature) const override
Definition qrhinull.cpp:114
QRhiNull(QRhiNullInitParams *params)
Definition qrhinull.cpp:45
void debugMarkMsg(QRhiCommandBuffer *cb, const QByteArray &msg) override
Definition qrhinull.cpp:344
void dispatch(QRhiCommandBuffer *cb, int x, int y, int z) override
Definition qrhinull.cpp:356
QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override
Definition qrhinull.cpp:386
void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override
Definition qrhinull.cpp:486
void drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount, quint32 instanceCount, quint32 firstIndex, qint32 vertexOffset, quint32 firstInstance) override
Definition qrhinull.cpp:322
void beginComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates, QRhiCommandBuffer::BeginPassFlags flags) override
Definition qrhinull.cpp:582
void beginPass(QRhiCommandBuffer *cb, QRhiRenderTarget *rt, const QColor &colorClearValue, const QRhiDepthStencilClearValue &depthStencilClearValue, QRhiResourceUpdateBatch *resourceUpdates, QRhiCommandBuffer::BeginPassFlags flags) override
Definition qrhinull.cpp:555
void setQueueSubmitParams(QRhiNativeHandles *params) override
Definition qrhinull.cpp:181
bool isClipDepthZeroToOne() const override
Definition qrhinull.cpp:97
void endComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override
Definition qrhinull.cpp:591
QNullCommandBuffer offscreenCommandBuffer
Definition qrhinull_p.h:296
void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override
Definition qrhinull.cpp:576
QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override
Definition qrhinull.cpp:393
QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override
Definition qrhinull.cpp:402
bool isYUpInNDC() const override
Definition qrhinull.cpp:92
QRhiDriverInfo driverInfo() const override
Definition qrhinull.cpp:163
void setScissor(QRhiCommandBuffer *cb, const QRhiScissor &scissor) override
Definition qrhinull.cpp:288
void simulateTextureUpload(const QRhiResourceUpdateBatchPrivate::TextureOp &u)
Definition qrhinull.cpp:420
QRhiComputePipeline * createComputePipeline() override
Definition qrhinull.cpp:243
void setPipelineCacheData(const QByteArray &data) override
Definition qrhinull.cpp:201
void setVertexInput(QRhiCommandBuffer *cb, int startBinding, int bindingCount, const QRhiCommandBuffer::VertexInput *bindings, QRhiBuffer *indexBuf, quint32 indexOffset, QRhiCommandBuffer::IndexFormat indexFormat) override
Definition qrhinull.cpp:269
void debugMarkBegin(QRhiCommandBuffer *cb, const QByteArray &name) override
Definition qrhinull.cpp:333
void draw(QRhiCommandBuffer *cb, quint32 vertexCount, quint32 instanceCount, quint32 firstVertex, quint32 firstInstance) override
Definition qrhinull.cpp:312
QByteArray pipelineCacheData() override
Definition qrhinull.cpp:196
void destroy() override
Definition qrhinull.cpp:57
const QRhiNativeHandles * nativeHandles() override
Definition qrhinull.cpp:158
void setGraphicsPipeline(QRhiCommandBuffer *cb, QRhiGraphicsPipeline *ps) override
Definition qrhinull.cpp:253
void releaseCachedResources() override
Definition qrhinull.cpp:186
void simulateTextureCopy(const QRhiResourceUpdateBatchPrivate::TextureOp &u)
Definition qrhinull.cpp:462
QRhiTexture * createTexture(QRhiTexture::Format format, const QSize &pixelSize, int depth, int arraySize, int sampleCount, QRhiTexture::Flags flags) override
Definition qrhinull.cpp:213
QList< QSize > supportedShadingRates(int sampleCount) const override
Definition qrhinull.cpp:66
void simulateTextureGenMips(const QRhiResourceUpdateBatchPrivate::TextureOp &u)
Definition qrhinull.cpp:477
void setShadingRate(QRhiCommandBuffer *cb, const QSize &coarsePixelSize) override
Definition qrhinull.cpp:306
QRhiRenderBuffer * createRenderBuffer(QRhiRenderBuffer::Type type, const QSize &pixelSize, int sampleCount, QRhiRenderBuffer::Flags flags, QRhiTexture::Format backingFormatHint) override
Definition qrhinull.cpp:206
bool makeThreadLocalNativeContextCurrent() override
Definition qrhinull.cpp:175
const QRhiNativeHandles * nativeHandles(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:364
QRhiNullNativeHandles nativeHandlesStruct
Definition qrhinull_p.h:294
bool isYUpInFramebuffer() const override
Definition qrhinull.cpp:87
QRhi::FrameOpResult finish() override
Definition qrhinull.cpp:415
void setComputePipeline(QRhiCommandBuffer *cb, QRhiComputePipeline *ps) override
Definition qrhinull.cpp:350
QRhiBuffer * createBuffer(QRhiBuffer::Type type, QRhiBuffer::UsageFlags usage, quint32 size) override
Definition qrhinull.cpp:77
QRhiStats statistics() override
Definition qrhinull.cpp:170
QRhiShadingRateMap * createShadingRateMap() override
Definition qrhinull.cpp:233
void beginExternal(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:370
QRhiSwapChain * createSwapChain() override
Definition qrhinull.cpp:72
void setViewport(QRhiCommandBuffer *cb, const QRhiViewport &viewport) override
Definition qrhinull.cpp:282
QRhiTextureRenderTarget * createTextureRenderTarget(const QRhiTextureRenderTargetDescription &desc, QRhiTextureRenderTarget::Flags flags) override
Definition qrhinull.cpp:227
QRhiGraphicsPipeline * createGraphicsPipeline() override
Definition qrhinull.cpp:238
bool create(QRhi::Flags flags) override
Definition qrhinull.cpp:51
void setStencilRef(QRhiCommandBuffer *cb, quint32 refValue) override
Definition qrhinull.cpp:300
void debugMarkEnd(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:339
QList< int > supportedSampleCounts() const override
Definition qrhinull.cpp:61
QMatrix4x4 clipSpaceCorrMatrix() const override
Definition qrhinull.cpp:102
QRhiSampler * createSampler(QRhiSampler::Filter magFilter, QRhiSampler::Filter minFilter, QRhiSampler::Filter mipmapMode, QRhiSampler::AddressMode u, QRhiSampler::AddressMode v, QRhiSampler::AddressMode w) override
Definition qrhinull.cpp:220
QRhiSwapChain * currentSwapChain
Definition qrhinull_p.h:295
int ubufAlignment() const override
Definition qrhinull.cpp:82
bool isTextureFormatSupported(QRhiTexture::Format format, QRhiTexture::Flags flags) const override
Definition qrhinull.cpp:107
int resourceLimit(QRhi::ResourceLimit limit) const override
Definition qrhinull.cpp:120
QRhiShaderResourceBindings * createShaderResourceBindings() override
Definition qrhinull.cpp:248
void setBlendConstants(QRhiCommandBuffer *cb, const QColor &c) override
Definition qrhinull.cpp:294
void endExternal(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:375
bool isDeviceLost() const override
Definition qrhinull.cpp:191
static TextureStage toPassTrackerTextureStage(QRhiShaderResourceBinding::StageFlags stages)
Definition qrhi.cpp:11895
const QVarLengthFlatMap< QRhiBuffer *, Buffer, 12 > & buffers() const
Definition qrhi_p.h:734
static BufferStage toPassTrackerBufferStage(QRhiShaderResourceBinding::StageFlags stages)
Definition qrhi.cpp:11876
const QVarLengthFlatMap< QRhiTexture *, Texture, 12 > & textures() const
Definition qrhi_p.h:742
bool isEmpty() const
Definition qrhi.cpp:11785
void registerBuffer(QRhiBuffer *buf, int slot, BufferAccess *access, BufferStage *stage, const UsageState &state)
Definition qrhi.cpp:11802
void registerTexture(QRhiTexture *tex, TextureAccess *access, TextureStage *stage, const UsageState &state)
Definition qrhi.cpp:11842
QVarLengthArray< BufferOp, BUFFER_OPS_STATIC_ALLOC > bufferOps
Definition qrhi_p.h:577
QRhiImplementation * rhi
Definition qrhi_p.h:584
QVarLengthArray< TextureOp, TEXTURE_OPS_STATIC_ALLOC > textureOps
Definition qrhi_p.h:581
static const int BUFFER_OPS_STATIC_ALLOC
Definition qrhi_p.h:576
static QRhiResourceUpdateBatchPrivate * get(QRhiResourceUpdateBatch *b)
Definition qrhi_p.h:592
void merge(QRhiResourceUpdateBatchPrivate *other)
Definition qrhi.cpp:10030
QRhiResourceUpdateBatch * q
Definition qrhi_p.h:583
static const int TEXTURE_OPS_STATIC_ALLOC
Definition qrhi_p.h:580
Combined button and popup list for selecting options.
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
static const char * resourceTypeStr(const QRhiResource *res)
Definition qrhi.cpp:8401
static QRhiPassResourceTracker::BufferStage earlierStage(QRhiPassResourceTracker::BufferStage a, QRhiPassResourceTracker::BufferStage b)
Definition qrhi.cpp:11796
QDebug operator<<(QDebug dbg, const QRhiSwapChainHdrInfo &info)
Definition qrhi.cpp:8216
static bool isImageLoadStore(QRhiPassResourceTracker::TextureAccess access)
Definition qrhi.cpp:11835
static const char * deviceTypeStr(QRhiDriverInfo::DeviceType type)
\variable QRhiDriverInfo::deviceName
Definition qrhi.cpp:9320
static QRhiPassResourceTracker::TextureStage earlierStage(QRhiPassResourceTracker::TextureStage a, QRhiPassResourceTracker::TextureStage b)
Definition qrhi.cpp:11829
QRhiTargetRectBoundMode
Definition qrhi_p.h:279
@ UnBounded
Definition qrhi_p.h:280
@ Bounded
Definition qrhi_p.h:281
Q_DECLARE_TYPEINFO(QRhiPassResourceTracker::Texture, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QRhiBufferData, Q_RELOCATABLE_TYPE)
T * qrhi_objectFromProxyData(QRhiSwapChainProxyData *pd, QWindow *window, QRhi::Implementation impl, uint objectIndex)
Definition qrhi_p.h:864
bool operator!=(const QRhiRenderTargetAttachmentTracker::ResId &a, const QRhiRenderTargetAttachmentTracker::ResId &b)
Definition qrhi_p.h:804
Q_DECLARE_TYPEINFO(QRhiPassResourceTracker::Buffer, Q_RELOCATABLE_TYPE)
#define QRHI_RES(t, x)
Definition qrhi_p.h:30
bool operator==(const QRhiRenderTargetAttachmentTracker::ResId &a, const QRhiRenderTargetAttachmentTracker::ResId &b)
Definition qrhi_p.h:799
bool qrhi_toTopLeftRenderTargetRect(const QSize &outputSize, const std::array< T, N > &r, T *x, T *y, T *w, T *h)
Definition qrhi_p.h:285
constexpr size_t qHash(const QSize &s, size_t seed=0) noexcept
Definition qsize.h:192
char * data
Definition qrhinull_p.h:31
QNullBuffer(QRhiImplementation *rhi, Type type, UsageFlags usage, quint32 size)
Definition qrhinull.cpp:597
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:617
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:607
char * beginFullDynamicBufferUpdateForCurrentFrame() override
Definition qrhinull.cpp:631
QNullCommandBuffer(QRhiImplementation *rhi)
Definition qrhinull.cpp:993
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:979
bool create() override
Definition qrhinull.cpp:986
QNullComputePipeline(QRhiImplementation *rhi)
Definition qrhinull.cpp:969
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:952
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:959
QNullGraphicsPipeline(QRhiImplementation *rhi)
Definition qrhinull.cpp:942
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:649
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:658
QNullRenderBuffer(QRhiImplementation *rhi, Type type, const QSize &pixelSize, int sampleCount, QRhiRenderBuffer::Flags flags, QRhiTexture::Format backingFormatHint)
Definition qrhinull.cpp:637
QRhiTexture::Format backingFormat() const override
Definition qrhinull.cpp:672
QNullRenderPassDescriptor(QRhiImplementation *rhi)
Definition qrhinull.cpp:777
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() const override
Definition qrhinull.cpp:800
QVector< quint32 > serializedFormat() const override
Definition qrhinull.cpp:808
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:787
bool isCompatible(const QRhiRenderPassDescriptor *other) const override
Definition qrhinull.cpp:794
QRhiRenderTargetAttachmentTracker::ResIdList currentResIdList
Definition qrhinull_p.h:88
QNullRenderPassDescriptor * rp
Definition qrhinull_p.h:85
QNullRenderTargetData(QRhiImplementation *)
Definition qrhinull_p.h:83
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:763
QNullSampler(QRhiImplementation *rhi, Filter magFilter, Filter minFilter, Filter mipmapMode, AddressMode u, AddressMode v, AddressMode w)
Definition qrhinull.cpp:752
bool create() override
Definition qrhinull.cpp:770
QNullShaderResourceBindings(QRhiImplementation *rhi)
Definition qrhinull.cpp:908
bool create() override
Creates the corresponding resource binding set.
Definition qrhinull.cpp:925
void updateResources(UpdateFlags flags) override
Definition qrhinull.cpp:937
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:918
QSize pixelSize() const override
Definition qrhinull.cpp:828
float devicePixelRatio() const override
Definition qrhinull.cpp:833
QNullRenderTargetData d
Definition qrhinull_p.h:101
QNullSwapChainRenderTarget(QRhiImplementation *rhi, QRhiSwapChain *swapchain)
Definition qrhinull.cpp:813
int sampleCount() const override
Definition qrhinull.cpp:838
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:824
bool createOrResize() override
Creates the swapchain if not already done and resizes the swapchain buffers to match the current size...
QWindow * window
Definition qrhinull_p.h:167
QSize surfacePixelSize() override
QNullSwapChainRenderTarget rt
Definition qrhinull_p.h:168
bool isFormatSupported(Format f) override
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
QRhiCommandBuffer * currentFrameCommandBuffer() override
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() override
QRhiRenderTarget * currentFrameRenderTarget() override
QNullSwapChain(QRhiImplementation *rhi)
QNullCommandBuffer cb
Definition qrhinull_p.h:169
QSize pixelSize() const override
Definition qrhinull.cpp:890
int sampleCount() const override
Definition qrhinull.cpp:903
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:856
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() override
Definition qrhinull.cpp:863
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:871
QNullTextureRenderTarget(QRhiImplementation *rhi, const QRhiTextureRenderTargetDescription &desc, Flags flags)
Definition qrhinull.cpp:843
QNullRenderTargetData d
Definition qrhinull_p.h:117
float devicePixelRatio() const override
Definition qrhinull.cpp:898
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:697
bool createFrom(NativeTexture src) override
Similar to create(), except that no new native textures are created.
Definition qrhinull.cpp:736
QVarLengthArray< std::array< QImage, QRhi::MAX_MIP_LEVELS >, 6 > image
Definition qrhinull_p.h:58
QNullTexture(QRhiImplementation *rhi, Format format, const QSize &pixelSize, int depth, int arraySize, int sampleCount, Flags flags)
Definition qrhinull.cpp:677
uint generation
Definition qrhinull_p.h:59
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:688
bool operator!=(const Batch &other) const
Definition qrhi_p.h:632
QVector< T > resources
Definition qrhi_p.h:625
bool operator==(const Batch &other) const
Definition qrhi_p.h:627
void feed(int binding, T resource)
Definition qrhi_p.h:598
QVector< Batch > batches
Definition qrhi_p.h:641
bool operator!=(const QRhiBatchedBindings< T > &other) const
Definition qrhi_p.h:648
bool operator==(const QRhiBatchedBindings< T > &other) const
Definition qrhi_p.h:643
char smallData[SMALL_DATA_SIZE]
Definition qrhi_p.h:337
QByteArray largeData
Definition qrhi_p.h:335
static constexpr quint32 SMALL_DATA_SIZE
Definition qrhi_p.h:336
static void updateResIdList(const QRhiTextureRenderTargetDescription &desc, ResIdList *dst)
Definition qrhi_p.h:810
static bool isUpToDate(const QRhiTextureRenderTargetDescription &desc, const ResIdList &currentResIdList)
Definition qrhi_p.h:848
static void changeToDynamicUpdate(BufferOp *op, QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:460
static void changeToStaticUpload(BufferOp *op, QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:491
static void changeToStaticUpload(BufferOp *op, QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:475
static BufferOp dynamicUpdate(QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:453
static BufferOp staticUpload(QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:484
static BufferOp staticUpload(QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:468
static BufferOp read(QRhiBuffer *buf, quint32 offset, quint32 size, QRhiReadbackResult *result)
Definition qrhi_p.h:499
static BufferOp dynamicUpdate(QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:437
static void changeToDynamicUpdate(BufferOp *op, QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:444
QRhiTextureCopyDescription desc
Definition qrhi_p.h:527
static TextureOp copy(QRhiTexture *dst, QRhiTexture *src, const QRhiTextureCopyDescription &desc)
Definition qrhi_p.h:547
QVarLengthArray< MipLevelUploadList, 6 > subresDesc
Definition qrhi_p.h:525
static TextureOp upload(QRhiTexture *tex, const QRhiTextureUploadDescription &desc)
Definition qrhi_p.h:531
static TextureOp genMips(QRhiTexture *tex)
Definition qrhi_p.h:566
static TextureOp read(const QRhiReadbackDescription &rb, QRhiReadbackResult *result)
Definition qrhi_p.h:557
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Definition qrhi.h:1556
LimitsType limitsType
Definition qrhi.h:1567
float maxPotentialColorComponentValue
Definition qrhi.h:1575
LuminanceBehavior luminanceBehavior
Definition qrhi.h:1578
float maxColorComponentValue
Definition qrhi.h:1574
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Definition qrhi.h:1589
void * reserved[2]
Definition qrhi.h:1590