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
4#ifndef QRHINULL_P_H
5#define QRHINULL_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include "qrhi_p.h"
19
21
22struct QNullBuffer : public QRhiBuffer
23{
24 QNullBuffer(QRhiImplementation *rhi, Type type, UsageFlags usage, quint32 size);
25 ~QNullBuffer();
26 void destroy() override;
27 bool create() override;
29
30 char *data = nullptr;
31};
32
34{
35 QNullRenderBuffer(QRhiImplementation *rhi, Type type, const QSize &pixelSize,
36 int sampleCount, QRhiRenderBuffer::Flags flags,
37 QRhiTexture::Format backingFormatHint);
39 void destroy() override;
40 bool create() override;
41 QRhiTexture::Format backingFormat() const override;
42
43 bool valid = false;
44 uint generation = 0;
45};
46
48{
49 QNullTexture(QRhiImplementation *rhi, Format format, const QSize &pixelSize, int depth,
50 int arraySize, int sampleCount, Flags flags);
51 ~QNullTexture();
52 void destroy() override;
53 bool create() override;
54 bool createFrom(NativeTexture src) override;
55
56 bool valid = false;
58 uint generation = 0;
59};
60
62{
63 QNullSampler(QRhiImplementation *rhi, Filter magFilter, Filter minFilter, Filter mipmapMode,
64 AddressMode u, AddressMode v, AddressMode w);
65 ~QNullSampler();
66 void destroy() override;
67 bool create() override;
68};
69
71{
72 QNullRenderPassDescriptor(QRhiImplementation *rhi);
74 void destroy() override;
75 bool isCompatible(const QRhiRenderPassDescriptor *other) const override;
77 QVector<quint32> serializedFormat() const override;
78};
79
89
91{
92 QNullSwapChainRenderTarget(QRhiImplementation *rhi, QRhiSwapChain *swapchain);
94 void destroy() override;
95
96 QSize pixelSize() const override;
97 float devicePixelRatio() const override;
98 int sampleCount() const override;
99
101};
102
104{
105 QNullTextureRenderTarget(QRhiImplementation *rhi, const QRhiTextureRenderTargetDescription &desc, Flags flags);
107 void destroy() override;
108
109 QSize pixelSize() const override;
110 float devicePixelRatio() const override;
111 int sampleCount() const override;
112
114 bool create() override;
115
117};
118
120{
121 QNullShaderResourceBindings(QRhiImplementation *rhi);
123 void destroy() override;
124 bool create() override;
125 void updateResources(UpdateFlags flags) override;
126};
127
129{
130 QNullGraphicsPipeline(QRhiImplementation *rhi);
132 void destroy() override;
133 bool create() override;
134};
135
137{
138 QNullComputePipeline(QRhiImplementation *rhi);
140 void destroy() override;
141 bool create() override;
142};
143
145{
146 QNullCommandBuffer(QRhiImplementation *rhi);
148 void destroy() override;
149};
150
152{
153 QNullSwapChain(QRhiImplementation *rhi);
155 void destroy() override;
156
157 QRhiCommandBuffer *currentFrameCommandBuffer() override;
159
160 QSize surfacePixelSize() override;
161 bool isFormatSupported(Format f) override;
162
165
166 QWindow *window = nullptr;
169 int frameCount = 0;
170};
171
173{
174public:
175 QRhiNull(QRhiNullInitParams *params);
176
177 bool create(QRhi::Flags flags) override;
178 void destroy() override;
179
183 QRhiBuffer *createBuffer(QRhiBuffer::Type type,
184 QRhiBuffer::UsageFlags usage,
185 quint32 size) override;
186 QRhiRenderBuffer *createRenderBuffer(QRhiRenderBuffer::Type type,
187 const QSize &pixelSize,
188 int sampleCount,
189 QRhiRenderBuffer::Flags flags,
190 QRhiTexture::Format backingFormatHint) override;
191 QRhiTexture *createTexture(QRhiTexture::Format format,
192 const QSize &pixelSize,
193 int depth,
194 int arraySize,
195 int sampleCount,
196 QRhiTexture::Flags flags) override;
197 QRhiSampler *createSampler(QRhiSampler::Filter magFilter,
198 QRhiSampler::Filter minFilter,
199 QRhiSampler::Filter mipmapMode,
200 QRhiSampler:: AddressMode u,
201 QRhiSampler::AddressMode v,
202 QRhiSampler::AddressMode w) override;
203
204 QRhiTextureRenderTarget *createTextureRenderTarget(const QRhiTextureRenderTargetDescription &desc,
205 QRhiTextureRenderTarget::Flags flags) override;
206
207 QRhiShadingRateMap *createShadingRateMap() override;
208
209 QRhiSwapChain *createSwapChain() override;
210 QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override;
211 QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override;
212 QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override;
213 QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override;
214 QRhi::FrameOpResult finish() override;
215
216 void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
217
218 void beginPass(QRhiCommandBuffer *cb,
219 QRhiRenderTarget *rt,
220 const QColor &colorClearValue,
221 const QRhiDepthStencilClearValue &depthStencilClearValue,
222 QRhiResourceUpdateBatch *resourceUpdates,
223 QRhiCommandBuffer::BeginPassFlags flags) override;
224 void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
225
226 void setGraphicsPipeline(QRhiCommandBuffer *cb,
227 QRhiGraphicsPipeline *ps) override;
228
229 void setShaderResources(QRhiCommandBuffer *cb,
230 QRhiShaderResourceBindings *srb,
231 int dynamicOffsetCount,
232 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets) override;
233
234 void setVertexInput(QRhiCommandBuffer *cb,
235 int startBinding, int bindingCount, const QRhiCommandBuffer::VertexInput *bindings,
236 QRhiBuffer *indexBuf, quint32 indexOffset,
237 QRhiCommandBuffer::IndexFormat indexFormat) override;
238
239 void setViewport(QRhiCommandBuffer *cb, const QRhiViewport &viewport) override;
240 void setScissor(QRhiCommandBuffer *cb, const QRhiScissor &scissor) override;
241 void setBlendConstants(QRhiCommandBuffer *cb, const QColor &c) override;
242 void setStencilRef(QRhiCommandBuffer *cb, quint32 refValue) override;
243 void setShadingRate(QRhiCommandBuffer *cb, const QSize &coarsePixelSize) override;
244
245 void draw(QRhiCommandBuffer *cb, quint32 vertexCount,
246 quint32 instanceCount, quint32 firstVertex, quint32 firstInstance) override;
247
248 void drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount,
249 quint32 instanceCount, quint32 firstIndex,
250 qint32 vertexOffset, quint32 firstInstance) override;
251
252 void debugMarkBegin(QRhiCommandBuffer *cb, const QByteArray &name) override;
253 void debugMarkEnd(QRhiCommandBuffer *cb) override;
254 void debugMarkMsg(QRhiCommandBuffer *cb, const QByteArray &msg) override;
255
256 void beginComputePass(QRhiCommandBuffer *cb,
257 QRhiResourceUpdateBatch *resourceUpdates,
258 QRhiCommandBuffer::BeginPassFlags flags) override;
259 void endComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
260 void setComputePipeline(QRhiCommandBuffer *cb, QRhiComputePipeline *ps) override;
261 void dispatch(QRhiCommandBuffer *cb, int x, int y, int z) override;
262
263 const QRhiNativeHandles *nativeHandles(QRhiCommandBuffer *cb) override;
264 void beginExternal(QRhiCommandBuffer *cb) override;
265 void endExternal(QRhiCommandBuffer *cb) override;
266 double lastCompletedGpuTime(QRhiCommandBuffer *cb) override;
267
268 QList<int> supportedSampleCounts() const override;
269 QList<QSize> supportedShadingRates(int sampleCount) const override;
270 int ubufAlignment() const override;
271 bool isYUpInFramebuffer() const override;
272 bool isYUpInNDC() const override;
273 bool isClipDepthZeroToOne() const override;
274 QMatrix4x4 clipSpaceCorrMatrix() const override;
275 bool isTextureFormatSupported(QRhiTexture::Format format, QRhiTexture::Flags flags) const override;
276 bool isFeatureSupported(QRhi::Feature feature) const override;
277 int resourceLimit(QRhi::ResourceLimit limit) const override;
278 const QRhiNativeHandles *nativeHandles() override;
279 QRhiDriverInfo driverInfo() const override;
280 QRhiStats statistics() override;
282 void setQueueSubmitParams(QRhiNativeHandles *params) override;
284 bool isDeviceLost() const override;
285
286 QByteArray pipelineCacheData() override;
287 void setPipelineCacheData(const QByteArray &data) override;
288
292
294 QRhiSwapChain *currentSwapChain = nullptr;
296};
297
298QT_END_NAMESPACE
299
300#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:801
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:812
QRhiBackendCommandList()=default
T * cend() const
Definition qrhi_p.h:772
T * cbegin() const
Definition qrhi_p.h:771
bool isEmpty() const
Definition qrhi_p.h:757
void assign(QByteArray data)
Definition qrhi_p.h:396
QRhiBufferData()=default
void assign(const char *s, quint32 size)
Definition qrhi_p.h:377
quint32 size() const
Definition qrhi_p.h:369
QRhiBufferData(const QRhiBufferData &other)
Definition qrhi_p.h:348
quint32 largeAlloc() const
Definition qrhi_p.h:373
QRhiBufferData & operator=(const QRhiBufferData &other)
Definition qrhi_p.h:354
const char * constData() const
Definition qrhi_p.h:365
void setShaderResources(QRhiCommandBuffer *cb, QRhiShaderResourceBindings *srb, int dynamicOffsetCount, const QRhiCommandBuffer::DynamicOffset *dynamicOffsets) override
Definition qrhinull.cpp:258
double lastCompletedGpuTime(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:379
QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override
Definition qrhinull.cpp:408
bool isFeatureSupported(QRhi::Feature feature) const override
Definition qrhinull.cpp:113
QRhiNull(QRhiNullInitParams *params)
Definition qrhinull.cpp:44
void debugMarkMsg(QRhiCommandBuffer *cb, const QByteArray &msg) override
Definition qrhinull.cpp:343
void dispatch(QRhiCommandBuffer *cb, int x, int y, int z) override
Definition qrhinull.cpp:355
QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override
Definition qrhinull.cpp:385
void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override
Definition qrhinull.cpp:485
void drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount, quint32 instanceCount, quint32 firstIndex, qint32 vertexOffset, quint32 firstInstance) override
Definition qrhinull.cpp:321
void beginComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates, QRhiCommandBuffer::BeginPassFlags flags) override
Definition qrhinull.cpp:581
void beginPass(QRhiCommandBuffer *cb, QRhiRenderTarget *rt, const QColor &colorClearValue, const QRhiDepthStencilClearValue &depthStencilClearValue, QRhiResourceUpdateBatch *resourceUpdates, QRhiCommandBuffer::BeginPassFlags flags) override
Definition qrhinull.cpp:554
void setQueueSubmitParams(QRhiNativeHandles *params) override
Definition qrhinull.cpp:180
bool isClipDepthZeroToOne() const override
Definition qrhinull.cpp:96
void endComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override
Definition qrhinull.cpp:590
QNullCommandBuffer offscreenCommandBuffer
Definition qrhinull_p.h:295
void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override
Definition qrhinull.cpp:575
QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override
Definition qrhinull.cpp:392
QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override
Definition qrhinull.cpp:401
bool isYUpInNDC() const override
Definition qrhinull.cpp:91
QRhiDriverInfo driverInfo() const override
Definition qrhinull.cpp:162
void setScissor(QRhiCommandBuffer *cb, const QRhiScissor &scissor) override
Definition qrhinull.cpp:287
void simulateTextureUpload(const QRhiResourceUpdateBatchPrivate::TextureOp &u)
Definition qrhinull.cpp:419
QRhiComputePipeline * createComputePipeline() override
Definition qrhinull.cpp:242
void setPipelineCacheData(const QByteArray &data) override
Definition qrhinull.cpp:200
void setVertexInput(QRhiCommandBuffer *cb, int startBinding, int bindingCount, const QRhiCommandBuffer::VertexInput *bindings, QRhiBuffer *indexBuf, quint32 indexOffset, QRhiCommandBuffer::IndexFormat indexFormat) override
Definition qrhinull.cpp:268
void debugMarkBegin(QRhiCommandBuffer *cb, const QByteArray &name) override
Definition qrhinull.cpp:332
void draw(QRhiCommandBuffer *cb, quint32 vertexCount, quint32 instanceCount, quint32 firstVertex, quint32 firstInstance) override
Definition qrhinull.cpp:311
QByteArray pipelineCacheData() override
Definition qrhinull.cpp:195
void destroy() override
Definition qrhinull.cpp:56
const QRhiNativeHandles * nativeHandles() override
Definition qrhinull.cpp:157
void setGraphicsPipeline(QRhiCommandBuffer *cb, QRhiGraphicsPipeline *ps) override
Definition qrhinull.cpp:252
void releaseCachedResources() override
Definition qrhinull.cpp:185
void simulateTextureCopy(const QRhiResourceUpdateBatchPrivate::TextureOp &u)
Definition qrhinull.cpp:461
QRhiTexture * createTexture(QRhiTexture::Format format, const QSize &pixelSize, int depth, int arraySize, int sampleCount, QRhiTexture::Flags flags) override
Definition qrhinull.cpp:212
QList< QSize > supportedShadingRates(int sampleCount) const override
Definition qrhinull.cpp:65
void simulateTextureGenMips(const QRhiResourceUpdateBatchPrivate::TextureOp &u)
Definition qrhinull.cpp:476
void setShadingRate(QRhiCommandBuffer *cb, const QSize &coarsePixelSize) override
Definition qrhinull.cpp:305
QRhiRenderBuffer * createRenderBuffer(QRhiRenderBuffer::Type type, const QSize &pixelSize, int sampleCount, QRhiRenderBuffer::Flags flags, QRhiTexture::Format backingFormatHint) override
Definition qrhinull.cpp:205
bool makeThreadLocalNativeContextCurrent() override
Definition qrhinull.cpp:174
const QRhiNativeHandles * nativeHandles(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:363
QRhiNullNativeHandles nativeHandlesStruct
Definition qrhinull_p.h:293
bool isYUpInFramebuffer() const override
Definition qrhinull.cpp:86
QRhi::FrameOpResult finish() override
Definition qrhinull.cpp:414
void setComputePipeline(QRhiCommandBuffer *cb, QRhiComputePipeline *ps) override
Definition qrhinull.cpp:349
QRhiBuffer * createBuffer(QRhiBuffer::Type type, QRhiBuffer::UsageFlags usage, quint32 size) override
Definition qrhinull.cpp:76
QRhiStats statistics() override
Definition qrhinull.cpp:169
QRhiShadingRateMap * createShadingRateMap() override
Definition qrhinull.cpp:232
void beginExternal(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:369
QRhiSwapChain * createSwapChain() override
Definition qrhinull.cpp:71
void setViewport(QRhiCommandBuffer *cb, const QRhiViewport &viewport) override
Definition qrhinull.cpp:281
QRhiTextureRenderTarget * createTextureRenderTarget(const QRhiTextureRenderTargetDescription &desc, QRhiTextureRenderTarget::Flags flags) override
Definition qrhinull.cpp:226
QRhiGraphicsPipeline * createGraphicsPipeline() override
Definition qrhinull.cpp:237
bool create(QRhi::Flags flags) override
Definition qrhinull.cpp:50
void setStencilRef(QRhiCommandBuffer *cb, quint32 refValue) override
Definition qrhinull.cpp:299
void debugMarkEnd(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:338
QList< int > supportedSampleCounts() const override
Definition qrhinull.cpp:60
QMatrix4x4 clipSpaceCorrMatrix() const override
Definition qrhinull.cpp:101
QRhiSampler * createSampler(QRhiSampler::Filter magFilter, QRhiSampler::Filter minFilter, QRhiSampler::Filter mipmapMode, QRhiSampler::AddressMode u, QRhiSampler::AddressMode v, QRhiSampler::AddressMode w) override
Definition qrhinull.cpp:219
QRhiSwapChain * currentSwapChain
Definition qrhinull_p.h:294
int ubufAlignment() const override
Definition qrhinull.cpp:81
bool isTextureFormatSupported(QRhiTexture::Format format, QRhiTexture::Flags flags) const override
Definition qrhinull.cpp:106
int resourceLimit(QRhi::ResourceLimit limit) const override
Definition qrhinull.cpp:119
QRhiShaderResourceBindings * createShaderResourceBindings() override
Definition qrhinull.cpp:247
void setBlendConstants(QRhiCommandBuffer *cb, const QColor &c) override
Definition qrhinull.cpp:293
void endExternal(QRhiCommandBuffer *cb) override
Definition qrhinull.cpp:374
bool isDeviceLost() const override
Definition qrhinull.cpp:190
static TextureStage toPassTrackerTextureStage(QRhiShaderResourceBinding::StageFlags stages)
Definition qrhi.cpp:11850
const QVarLengthFlatMap< QRhiBuffer *, Buffer, 12 > & buffers() const
Definition qrhi_p.h:729
static BufferStage toPassTrackerBufferStage(QRhiShaderResourceBinding::StageFlags stages)
Definition qrhi.cpp:11831
const QVarLengthFlatMap< QRhiTexture *, Texture, 12 > & textures() const
Definition qrhi_p.h:737
bool isEmpty() const
Definition qrhi.cpp:11740
void registerBuffer(QRhiBuffer *buf, int slot, BufferAccess *access, BufferStage *stage, const UsageState &state)
Definition qrhi.cpp:11757
void registerTexture(QRhiTexture *tex, TextureAccess *access, TextureStage *stage, const UsageState &state)
Definition qrhi.cpp:11797
QVarLengthArray< BufferOp, BUFFER_OPS_STATIC_ALLOC > bufferOps
Definition qrhi_p.h:575
QRhiImplementation * rhi
Definition qrhi_p.h:582
QVarLengthArray< TextureOp, TEXTURE_OPS_STATIC_ALLOC > textureOps
Definition qrhi_p.h:579
static const int BUFFER_OPS_STATIC_ALLOC
Definition qrhi_p.h:574
static QRhiResourceUpdateBatchPrivate * get(QRhiResourceUpdateBatch *b)
Definition qrhi_p.h:590
void merge(QRhiResourceUpdateBatchPrivate *other)
Definition qrhi.cpp:9985
QRhiResourceUpdateBatch * q
Definition qrhi_p.h:581
static const int TEXTURE_OPS_STATIC_ALLOC
Definition qrhi_p.h:578
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
static const char * resourceTypeStr(const QRhiResource *res)
Definition qrhi.cpp:8356
static QRhiPassResourceTracker::BufferStage earlierStage(QRhiPassResourceTracker::BufferStage a, QRhiPassResourceTracker::BufferStage b)
Definition qrhi.cpp:11751
QDebug operator<<(QDebug dbg, const QRhiSwapChainHdrInfo &info)
Definition qrhi.cpp:8171
static bool isImageLoadStore(QRhiPassResourceTracker::TextureAccess access)
Definition qrhi.cpp:11790
static const char * deviceTypeStr(QRhiDriverInfo::DeviceType type)
\variable QRhiDriverInfo::deviceName
Definition qrhi.cpp:9275
static QRhiPassResourceTracker::TextureStage earlierStage(QRhiPassResourceTracker::TextureStage a, QRhiPassResourceTracker::TextureStage b)
Definition qrhi.cpp:11784
QRhiTargetRectBoundMode
Definition qrhi_p.h:277
@ UnBounded
Definition qrhi_p.h:278
@ Bounded
Definition qrhi_p.h:279
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:859
bool operator!=(const QRhiRenderTargetAttachmentTracker::ResId &a, const QRhiRenderTargetAttachmentTracker::ResId &b)
Definition qrhi_p.h:799
Q_DECLARE_TYPEINFO(QRhiPassResourceTracker::Buffer, Q_RELOCATABLE_TYPE)
#define QRHI_RES(t, x)
Definition qrhi_p.h:29
bool operator==(const QRhiRenderTargetAttachmentTracker::ResId &a, const QRhiRenderTargetAttachmentTracker::ResId &b)
Definition qrhi_p.h:794
bool qrhi_toTopLeftRenderTargetRect(const QSize &outputSize, const std::array< T, N > &r, T *x, T *y, T *w, T *h)
Definition qrhi_p.h:283
constexpr size_t qHash(const QSize &s, size_t seed=0) noexcept
Definition qsize.h:191
char * data
Definition qrhinull_p.h:30
QNullBuffer(QRhiImplementation *rhi, Type type, UsageFlags usage, quint32 size)
Definition qrhinull.cpp:596
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:616
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:606
char * beginFullDynamicBufferUpdateForCurrentFrame() override
Definition qrhinull.cpp:630
QNullCommandBuffer(QRhiImplementation *rhi)
Definition qrhinull.cpp:992
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:978
bool create() override
Definition qrhinull.cpp:985
QNullComputePipeline(QRhiImplementation *rhi)
Definition qrhinull.cpp:968
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:951
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:958
QNullGraphicsPipeline(QRhiImplementation *rhi)
Definition qrhinull.cpp:941
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:648
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:657
QNullRenderBuffer(QRhiImplementation *rhi, Type type, const QSize &pixelSize, int sampleCount, QRhiRenderBuffer::Flags flags, QRhiTexture::Format backingFormatHint)
Definition qrhinull.cpp:636
QRhiTexture::Format backingFormat() const override
Definition qrhinull.cpp:671
QNullRenderPassDescriptor(QRhiImplementation *rhi)
Definition qrhinull.cpp:776
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() const override
Definition qrhinull.cpp:799
QVector< quint32 > serializedFormat() const override
Definition qrhinull.cpp:807
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:786
bool isCompatible(const QRhiRenderPassDescriptor *other) const override
Definition qrhinull.cpp:793
QRhiRenderTargetAttachmentTracker::ResIdList currentResIdList
Definition qrhinull_p.h:87
QNullRenderPassDescriptor * rp
Definition qrhinull_p.h:84
QNullRenderTargetData(QRhiImplementation *)
Definition qrhinull_p.h:82
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:762
QNullSampler(QRhiImplementation *rhi, Filter magFilter, Filter minFilter, Filter mipmapMode, AddressMode u, AddressMode v, AddressMode w)
Definition qrhinull.cpp:751
bool create() override
Definition qrhinull.cpp:769
QNullShaderResourceBindings(QRhiImplementation *rhi)
Definition qrhinull.cpp:907
bool create() override
Creates the corresponding resource binding set.
Definition qrhinull.cpp:924
void updateResources(UpdateFlags flags) override
Definition qrhinull.cpp:936
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:917
QSize pixelSize() const override
Definition qrhinull.cpp:827
float devicePixelRatio() const override
Definition qrhinull.cpp:832
QNullRenderTargetData d
Definition qrhinull_p.h:100
QNullSwapChainRenderTarget(QRhiImplementation *rhi, QRhiSwapChain *swapchain)
Definition qrhinull.cpp:812
int sampleCount() const override
Definition qrhinull.cpp:837
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:823
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:166
QSize surfacePixelSize() override
QNullSwapChainRenderTarget rt
Definition qrhinull_p.h:167
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:168
QSize pixelSize() const override
Definition qrhinull.cpp:889
int sampleCount() const override
Definition qrhinull.cpp:902
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:855
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() override
Definition qrhinull.cpp:862
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:870
QNullTextureRenderTarget(QRhiImplementation *rhi, const QRhiTextureRenderTargetDescription &desc, Flags flags)
Definition qrhinull.cpp:842
QNullRenderTargetData d
Definition qrhinull_p.h:116
float devicePixelRatio() const override
Definition qrhinull.cpp:897
bool create() override
Creates the corresponding native graphics resources.
Definition qrhinull.cpp:696
bool createFrom(NativeTexture src) override
Similar to create(), except that no new native textures are created.
Definition qrhinull.cpp:735
QVarLengthArray< std::array< QImage, QRhi::MAX_MIP_LEVELS >, 6 > image
Definition qrhinull_p.h:57
QNullTexture(QRhiImplementation *rhi, Format format, const QSize &pixelSize, int depth, int arraySize, int sampleCount, Flags flags)
Definition qrhinull.cpp:676
uint generation
Definition qrhinull_p.h:58
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
Definition qrhinull.cpp:687
bool operator!=(const Batch &other) const
Definition qrhi_p.h:630
bool operator==(const Batch &other) const
Definition qrhi_p.h:625
QVarLengthArray< T, 4 > resources
Definition qrhi_p.h:623
void feed(int binding, T resource)
Definition qrhi_p.h:596
QVarLengthArray< Batch, 4 > batches
Definition qrhi_p.h:636
bool operator!=(const QRhiBatchedBindings< T > &other) const
Definition qrhi_p.h:643
bool operator==(const QRhiBatchedBindings< T > &other) const
Definition qrhi_p.h:638
char smallData[SMALL_DATA_SIZE]
Definition qrhi_p.h:335
QByteArray largeData
Definition qrhi_p.h:333
static constexpr quint32 SMALL_DATA_SIZE
Definition qrhi_p.h:334
static void updateResIdList(const QRhiTextureRenderTargetDescription &desc, ResIdList *dst)
Definition qrhi_p.h:805
static bool isUpToDate(const QRhiTextureRenderTargetDescription &desc, const ResIdList &currentResIdList)
Definition qrhi_p.h:843
static void changeToDynamicUpdate(BufferOp *op, QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:458
static void changeToStaticUpload(BufferOp *op, QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:489
static void changeToStaticUpload(BufferOp *op, QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:473
static BufferOp dynamicUpdate(QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:451
static BufferOp staticUpload(QRhiBuffer *buf, quint32 offset, QByteArray data)
Definition qrhi_p.h:482
static BufferOp staticUpload(QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:466
static BufferOp read(QRhiBuffer *buf, quint32 offset, quint32 size, QRhiReadbackResult *result)
Definition qrhi_p.h:497
static BufferOp dynamicUpdate(QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:435
static void changeToDynamicUpdate(BufferOp *op, QRhiBuffer *buf, quint32 offset, quint32 size, const void *data)
Definition qrhi_p.h:442
QRhiTextureCopyDescription desc
Definition qrhi_p.h:525
static TextureOp copy(QRhiTexture *dst, QRhiTexture *src, const QRhiTextureCopyDescription &desc)
Definition qrhi_p.h:545
QVarLengthArray< MipLevelUploadList, 6 > subresDesc
Definition qrhi_p.h:523
static TextureOp upload(QRhiTexture *tex, const QRhiTextureUploadDescription &desc)
Definition qrhi_p.h:529
static TextureOp genMips(QRhiTexture *tex)
Definition qrhi_p.h:564
static TextureOp read(const QRhiReadbackDescription &rb, QRhiReadbackResult *result)
Definition qrhi_p.h:555
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Definition qrhi.h:1551
LimitsType limitsType
Definition qrhi.h:1562
float maxPotentialColorComponentValue
Definition qrhi.h:1570
LuminanceBehavior luminanceBehavior
Definition qrhi.h:1573
float maxColorComponentValue
Definition qrhi.h:1569
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Definition qrhi.h:1584
void * reserved[2]
Definition qrhi.h:1585