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 drawIndirect(QRhiCommandBuffer *cb, QRhiBuffer *indirectBuffer,
254 quint32 indirectBufferOffset, quint32 drawCount, quint32 stride) override;
255
256 void drawIndexedIndirect(QRhiCommandBuffer *cb, QRhiBuffer *indirectBuffer,
257 quint32 indirectBufferOffset, quint32 drawCount, quint32 stride) override;
258
259 void debugMarkBegin(QRhiCommandBuffer *cb, const QByteArray &name) override;
260 void debugMarkEnd(QRhiCommandBuffer *cb) override;
261 void debugMarkMsg(QRhiCommandBuffer *cb, const QByteArray &msg) override;
262
263 void beginComputePass(QRhiCommandBuffer *cb,
264 QRhiResourceUpdateBatch *resourceUpdates,
265 QRhiCommandBuffer::BeginPassFlags flags) override;
266 void endComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
267 void setComputePipeline(QRhiCommandBuffer *cb, QRhiComputePipeline *ps) override;
268 void dispatch(QRhiCommandBuffer *cb, int x, int y, int z) override;
269
270 const QRhiNativeHandles *nativeHandles(QRhiCommandBuffer *cb) override;
271 void beginExternal(QRhiCommandBuffer *cb) override;
272 void endExternal(QRhiCommandBuffer *cb) override;
273 double lastCompletedGpuTime(QRhiCommandBuffer *cb) override;
274
275 QList<int> supportedSampleCounts() const override;
276 QList<QSize> supportedShadingRates(int sampleCount) const override;
277 int ubufAlignment() const override;
278 bool isYUpInFramebuffer() const override;
279 bool isYUpInNDC() const override;
280 bool isClipDepthZeroToOne() const override;
281 QMatrix4x4 clipSpaceCorrMatrix() const override;
282 bool isTextureFormatSupported(QRhiTexture::Format format, QRhiTexture::Flags flags) const override;
283 bool isFeatureSupported(QRhi::Feature feature) const override;
284 int resourceLimit(QRhi::ResourceLimit limit) const override;
285 const QRhiNativeHandles *nativeHandles() override;
286 QRhiDriverInfo driverInfo() const override;
287 QRhiStats statistics() override;
289 void setQueueSubmitParams(QRhiNativeHandles *params) override;
291 bool isDeviceLost() const override;
292
293 QByteArray pipelineCacheData() override;
294 void setPipelineCacheData(const QByteArray &data) override;
295
299
301 QRhiSwapChain *currentSwapChain = nullptr;
303};
304
305QT_END_NAMESPACE
306
307#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:803
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:814
QRhiBackendCommandList()=default
T * cend() const
Definition qrhi_p.h:784
T * cbegin() const
Definition qrhi_p.h:783
bool isEmpty() const
Definition qrhi_p.h:769
void assign(QByteArray data)
Definition qrhi_p.h:403
QRhiBufferData()=default
void assign(const char *s, quint32 size)
Definition qrhi_p.h:384
quint32 size() const
Definition qrhi_p.h:376
QRhiBufferData(const QRhiBufferData &other)
Definition qrhi_p.h:355
quint32 largeAlloc() const
Definition qrhi_p.h:380
QRhiBufferData & operator=(const QRhiBufferData &other)
Definition qrhi_p.h:361
const char * constData() const
Definition qrhi_p.h:372
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:400
QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override
Definition qrhinull.cpp:429
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:364
void dispatch(QRhiCommandBuffer *cb, int x, int y, int z) override
Definition qrhinull.cpp:376
QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override
Definition qrhinull.cpp:406
void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override
Definition qrhinull.cpp:507
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:603
void beginPass(QRhiCommandBuffer *cb, QRhiRenderTarget *rt, const QColor &colorClearValue, const QRhiDepthStencilClearValue &depthStencilClearValue, QRhiResourceUpdateBatch *resourceUpdates, QRhiCommandBuffer::BeginPassFlags flags) override
Definition qrhinull.cpp:576
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:612
QNullCommandBuffer offscreenCommandBuffer
Definition qrhinull_p.h:302
void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override
Definition qrhinull.cpp:597
QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override
Definition qrhinull.cpp:413
QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override
Definition qrhinull.cpp:422
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:440
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:353
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:483
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:498
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
void drawIndirect(QRhiCommandBuffer *cb, QRhiBuffer *indirectBuffer, quint32 indirectBufferOffset, quint32 drawCount, quint32 stride) override
Definition qrhinull.cpp:333
const QRhiNativeHandles * nativeHandles(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:384
QRhiNullNativeHandles nativeHandlesStruct
Definition qrhinull_p.h:300
bool isYUpInFramebuffer() const override
Definition qrhinull.cpp:87
QRhi::FrameOpResult finish() override
Definition qrhinull.cpp:435
void setComputePipeline(QRhiCommandBuffer *cb, QRhiComputePipeline *ps) override
Definition qrhinull.cpp:370
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:390
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:359
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
void drawIndexedIndirect(QRhiCommandBuffer *cb, QRhiBuffer *indirectBuffer, quint32 indirectBufferOffset, quint32 drawCount, quint32 stride) override
Definition qrhinull.cpp:343
QRhiSwapChain * currentSwapChain
Definition qrhinull_p.h:301
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:395
bool isDeviceLost() const override
Definition qrhinull.cpp:191
static TextureStage toPassTrackerTextureStage(QRhiShaderResourceBinding::StageFlags stages)
Definition qrhi.cpp:12098
const QVarLengthFlatMap< QRhiBuffer *, Buffer, 12 > & buffers() const
Definition qrhi_p.h:741
static BufferStage toPassTrackerBufferStage(QRhiShaderResourceBinding::StageFlags stages)
Definition qrhi.cpp:12079
const QVarLengthFlatMap< QRhiTexture *, Texture, 12 > & textures() const
Definition qrhi_p.h:749
bool isEmpty() const
Definition qrhi.cpp:11988
void registerBuffer(QRhiBuffer *buf, int slot, BufferAccess *access, BufferStage *stage, const UsageState &state)
Definition qrhi.cpp:12005
void registerTexture(QRhiTexture *tex, TextureAccess *access, TextureStage *stage, const UsageState &state)
Definition qrhi.cpp:12045
QVarLengthArray< BufferOp, BUFFER_OPS_STATIC_ALLOC > bufferOps
Definition qrhi_p.h:582
QRhiImplementation * rhi
Definition qrhi_p.h:589
QVarLengthArray< TextureOp, TEXTURE_OPS_STATIC_ALLOC > textureOps
Definition qrhi_p.h:586
static const int BUFFER_OPS_STATIC_ALLOC
Definition qrhi_p.h:581
static QRhiResourceUpdateBatchPrivate * get(QRhiResourceUpdateBatch *b)
Definition qrhi_p.h:597
void merge(QRhiResourceUpdateBatchPrivate *other)
Definition qrhi.cpp:10148
QRhiResourceUpdateBatch * q
Definition qrhi_p.h:588
static const int TEXTURE_OPS_STATIC_ALLOC
Definition qrhi_p.h:585
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:8501
static QRhiPassResourceTracker::BufferStage earlierStage(QRhiPassResourceTracker::BufferStage a, QRhiPassResourceTracker::BufferStage b)
Definition qrhi.cpp:11999
QDebug operator<<(QDebug dbg, const QRhiSwapChainHdrInfo &info)
Definition qrhi.cpp:8248
static bool isImageLoadStore(QRhiPassResourceTracker::TextureAccess access)
Definition qrhi.cpp:12038
static const char * deviceTypeStr(QRhiDriverInfo::DeviceType type)
\variable QRhiDriverInfo::deviceName
Definition qrhi.cpp:9438
static QRhiPassResourceTracker::TextureStage earlierStage(QRhiPassResourceTracker::TextureStage a, QRhiPassResourceTracker::TextureStage b)
Definition qrhi.cpp:12032
QRhiTargetRectBoundMode
Definition qrhi_p.h:284
@ UnBounded
Definition qrhi_p.h:285
@ Bounded
Definition qrhi_p.h:286
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:871
bool operator!=(const QRhiRenderTargetAttachmentTracker::ResId &a, const QRhiRenderTargetAttachmentTracker::ResId &b)
Definition qrhi_p.h:811
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:806
bool qrhi_toTopLeftRenderTargetRect(const QSize &outputSize, const std::array< T, N > &r, T *x, T *y, T *w, T *h)
Definition qrhi_p.h:290
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:618
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:638
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:628
char * beginFullDynamicBufferUpdateForCurrentFrame() override
Definition qrhinull.cpp:652
QNullCommandBuffer(QRhiImplementation *rhi)
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.
bool create() override
QNullComputePipeline(QRhiImplementation *rhi)
Definition qrhinull.cpp:990
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:973
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:980
QNullGraphicsPipeline(QRhiImplementation *rhi)
Definition qrhinull.cpp:963
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:670
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:679
QNullRenderBuffer(QRhiImplementation *rhi, Type type, const QSize &pixelSize, int sampleCount, QRhiRenderBuffer::Flags flags, QRhiTexture::Format backingFormatHint)
Definition qrhinull.cpp:658
QRhiTexture::Format backingFormat() const override
Definition qrhinull.cpp:693
QNullRenderPassDescriptor(QRhiImplementation *rhi)
Definition qrhinull.cpp:798
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() const override
Definition qrhinull.cpp:821
QVector< quint32 > serializedFormat() const override
Definition qrhinull.cpp:829
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:808
bool isCompatible(const QRhiRenderPassDescriptor *other) const override
Definition qrhinull.cpp:815
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:784
QNullSampler(QRhiImplementation *rhi, Filter magFilter, Filter minFilter, Filter mipmapMode, AddressMode u, AddressMode v, AddressMode w)
Definition qrhinull.cpp:773
bool create() override
Definition qrhinull.cpp:791
QNullShaderResourceBindings(QRhiImplementation *rhi)
Definition qrhinull.cpp:929
bool create() override
Creates the corresponding resource binding set.
Definition qrhinull.cpp:946
void updateResources(UpdateFlags flags) override
Definition qrhinull.cpp:958
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:939
QSize pixelSize() const override
Definition qrhinull.cpp:849
float devicePixelRatio() const override
Definition qrhinull.cpp:854
QNullRenderTargetData d
Definition qrhinull_p.h:101
QNullSwapChainRenderTarget(QRhiImplementation *rhi, QRhiSwapChain *swapchain)
Definition qrhinull.cpp:834
int sampleCount() const override
Definition qrhinull.cpp:859
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:845
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:911
int sampleCount() const override
Definition qrhinull.cpp:924
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:877
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() override
Definition qrhinull.cpp:884
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:892
QNullTextureRenderTarget(QRhiImplementation *rhi, const QRhiTextureRenderTargetDescription &desc, Flags flags)
Definition qrhinull.cpp:864
QNullRenderTargetData d
Definition qrhinull_p.h:117
float devicePixelRatio() const override
Definition qrhinull.cpp:919
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:718
bool createFrom(NativeTexture src) override
Similar to create(), except that no new native textures are created.
Definition qrhinull.cpp:757
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:698
uint generation
Definition qrhinull_p.h:59
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:709
bool operator!=(const Batch &other) const
Definition qrhi_p.h:637
QVector< T > resources
Definition qrhi_p.h:630
bool operator==(const Batch &other) const
Definition qrhi_p.h:632
void feed(int binding, T resource)
Definition qrhi_p.h:603
QVector< Batch > batches
Definition qrhi_p.h:646
bool operator!=(const QRhiBatchedBindings< T > &other) const
Definition qrhi_p.h:653
bool operator==(const QRhiBatchedBindings< T > &other) const
Definition qrhi_p.h:648
char smallData[SMALL_DATA_SIZE]
Definition qrhi_p.h:342
QByteArray largeData
Definition qrhi_p.h:340
static constexpr quint32 SMALL_DATA_SIZE
Definition qrhi_p.h:341
static void updateResIdList(const QRhiTextureRenderTargetDescription &desc, ResIdList *dst)
Definition qrhi_p.h:817
static bool isUpToDate(const QRhiTextureRenderTargetDescription &desc, const ResIdList &currentResIdList)
Definition qrhi_p.h:855
static void changeToDynamicUpdate(BufferOp *op, QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:465
static void changeToStaticUpload(BufferOp *op, QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:496
static void changeToStaticUpload(BufferOp *op, QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:480
static BufferOp dynamicUpdate(QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:458
static BufferOp staticUpload(QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:489
static BufferOp staticUpload(QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:473
static BufferOp read(QRhiBuffer *buf, quint32 offset, quint32 size, QRhiReadbackResult *result)
Definition qrhi_p.h:504
static BufferOp dynamicUpdate(QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:442
static void changeToDynamicUpdate(BufferOp *op, QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:449
QRhiTextureCopyDescription desc
Definition qrhi_p.h:532
static TextureOp copy(QRhiTexture *dst, QRhiTexture *src, const QRhiTextureCopyDescription &desc)
Definition qrhi_p.h:552
QVarLengthArray< MipLevelUploadList, 6 > subresDesc
Definition qrhi_p.h:530
static TextureOp upload(QRhiTexture *tex, const QRhiTextureUploadDescription &desc)
Definition qrhi_p.h:536
static TextureOp genMips(QRhiTexture *tex)
Definition qrhi_p.h:571
static TextureOp read(const QRhiReadbackDescription &rb, QRhiReadbackResult *result)
Definition qrhi_p.h:562
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Definition qrhi.h:1558
LimitsType limitsType
Definition qrhi.h:1569
float maxPotentialColorComponentValue
Definition qrhi.h:1577
LuminanceBehavior luminanceBehavior
Definition qrhi.h:1580
float maxColorComponentValue
Definition qrhi.h:1576
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Definition qrhi.h:1591
void * reserved[2]
Definition qrhi.h:1592