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:506
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:602
void beginPass(QRhiCommandBuffer *cb, QRhiRenderTarget *rt, const QColor &colorClearValue, const QRhiDepthStencilClearValue &depthStencilClearValue, QRhiResourceUpdateBatch *resourceUpdates, QRhiCommandBuffer::BeginPassFlags flags) override
Definition qrhinull.cpp:575
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:611
QNullCommandBuffer offscreenCommandBuffer
Definition qrhinull_p.h:302
void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override
Definition qrhinull.cpp:596
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:482
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:497
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:12089
const QVarLengthFlatMap< QRhiBuffer *, Buffer, 12 > & buffers() const
Definition qrhi_p.h:741
static BufferStage toPassTrackerBufferStage(QRhiShaderResourceBinding::StageFlags stages)
Definition qrhi.cpp:12070
const QVarLengthFlatMap< QRhiTexture *, Texture, 12 > & textures() const
Definition qrhi_p.h:749
bool isEmpty() const
Definition qrhi.cpp:11979
void registerBuffer(QRhiBuffer *buf, int slot, BufferAccess *access, BufferStage *stage, const UsageState &state)
Definition qrhi.cpp:11996
void registerTexture(QRhiTexture *tex, TextureAccess *access, TextureStage *stage, const UsageState &state)
Definition qrhi.cpp:12036
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:10139
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:8492
static QRhiPassResourceTracker::BufferStage earlierStage(QRhiPassResourceTracker::BufferStage a, QRhiPassResourceTracker::BufferStage b)
Definition qrhi.cpp:11990
QDebug operator<<(QDebug dbg, const QRhiSwapChainHdrInfo &info)
Definition qrhi.cpp:8239
static bool isImageLoadStore(QRhiPassResourceTracker::TextureAccess access)
Definition qrhi.cpp:12029
static const char * deviceTypeStr(QRhiDriverInfo::DeviceType type)
\variable QRhiDriverInfo::deviceName
Definition qrhi.cpp:9429
static QRhiPassResourceTracker::TextureStage earlierStage(QRhiPassResourceTracker::TextureStage a, QRhiPassResourceTracker::TextureStage b)
Definition qrhi.cpp:12023
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:617
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:637
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:627
char * beginFullDynamicBufferUpdateForCurrentFrame() override
Definition qrhinull.cpp:651
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.
Definition qrhinull.cpp:999
bool create() override
QNullComputePipeline(QRhiImplementation *rhi)
Definition qrhinull.cpp:989
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:972
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:979
QNullGraphicsPipeline(QRhiImplementation *rhi)
Definition qrhinull.cpp:962
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:669
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:678
QNullRenderBuffer(QRhiImplementation *rhi, Type type, const QSize &pixelSize, int sampleCount, QRhiRenderBuffer::Flags flags, QRhiTexture::Format backingFormatHint)
Definition qrhinull.cpp:657
QRhiTexture::Format backingFormat() const override
Definition qrhinull.cpp:692
QNullRenderPassDescriptor(QRhiImplementation *rhi)
Definition qrhinull.cpp:797
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() const override
Definition qrhinull.cpp:820
QVector< quint32 > serializedFormat() const override
Definition qrhinull.cpp:828
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:807
bool isCompatible(const QRhiRenderPassDescriptor *other) const override
Definition qrhinull.cpp:814
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:783
QNullSampler(QRhiImplementation *rhi, Filter magFilter, Filter minFilter, Filter mipmapMode, AddressMode u, AddressMode v, AddressMode w)
Definition qrhinull.cpp:772
bool create() override
Definition qrhinull.cpp:790
QNullShaderResourceBindings(QRhiImplementation *rhi)
Definition qrhinull.cpp:928
bool create() override
Creates the corresponding resource binding set.
Definition qrhinull.cpp:945
void updateResources(UpdateFlags flags) override
Definition qrhinull.cpp:957
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:938
QSize pixelSize() const override
Definition qrhinull.cpp:848
float devicePixelRatio() const override
Definition qrhinull.cpp:853
QNullRenderTargetData d
Definition qrhinull_p.h:101
QNullSwapChainRenderTarget(QRhiImplementation *rhi, QRhiSwapChain *swapchain)
Definition qrhinull.cpp:833
int sampleCount() const override
Definition qrhinull.cpp:858
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:844
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:910
int sampleCount() const override
Definition qrhinull.cpp:923
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:876
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() override
Definition qrhinull.cpp:883
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:891
QNullTextureRenderTarget(QRhiImplementation *rhi, const QRhiTextureRenderTargetDescription &desc, Flags flags)
Definition qrhinull.cpp:863
QNullRenderTargetData d
Definition qrhinull_p.h:117
float devicePixelRatio() const override
Definition qrhinull.cpp:918
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:717
bool createFrom(NativeTexture src) override
Similar to create(), except that no new native textures are created.
Definition qrhinull.cpp:756
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:697
uint generation
Definition qrhinull_p.h:59
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:708
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:1557
LimitsType limitsType
Definition qrhi.h:1568
float maxPotentialColorComponentValue
Definition qrhi.h:1576
LuminanceBehavior luminanceBehavior
Definition qrhi.h:1579
float maxColorComponentValue
Definition qrhi.h:1575
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Definition qrhi.h:1590
void * reserved[2]
Definition qrhi.h:1591