Qt 6.x
The Qt SDK
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
QRhiImplementation Class Referenceabstract

#include <qrhi_p.h>

+ Inheritance diagram for QRhiImplementation:
+ Collaboration diagram for QRhiImplementation:

Public Member Functions

virtual ~QRhiImplementation ()
 
virtual bool create (QRhi::Flags flags)=0
 
virtual void destroy ()=0
 
virtual QRhiGraphicsPipelinecreateGraphicsPipeline ()=0
 
virtual QRhiComputePipelinecreateComputePipeline ()=0
 
virtual QRhiShaderResourceBindingscreateShaderResourceBindings ()=0
 
virtual QRhiBuffercreateBuffer (QRhiBuffer::Type type, QRhiBuffer::UsageFlags usage, quint32 size)=0
 
virtual QRhiRenderBuffercreateRenderBuffer (QRhiRenderBuffer::Type type, const QSize &pixelSize, int sampleCount, QRhiRenderBuffer::Flags flags, QRhiTexture::Format backingFormatHint)=0
 
virtual QRhiTexturecreateTexture (QRhiTexture::Format format, const QSize &pixelSize, int depth, int arraySize, int sampleCount, QRhiTexture::Flags flags)=0
 
virtual QRhiSamplercreateSampler (QRhiSampler::Filter magFilter, QRhiSampler::Filter minFilter, QRhiSampler::Filter mipmapMode, QRhiSampler::AddressMode u, QRhiSampler::AddressMode v, QRhiSampler::AddressMode w)=0
 
virtual QRhiTextureRenderTargetcreateTextureRenderTarget (const QRhiTextureRenderTargetDescription &desc, QRhiTextureRenderTarget::Flags flags)=0
 
virtual QRhiSwapChaincreateSwapChain ()=0
 
virtual QRhi::FrameOpResult beginFrame (QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags)=0
 
virtual QRhi::FrameOpResult endFrame (QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags)=0
 
virtual QRhi::FrameOpResult beginOffscreenFrame (QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags)=0
 
virtual QRhi::FrameOpResult endOffscreenFrame (QRhi::EndFrameFlags flags)=0
 
virtual QRhi::FrameOpResult finish ()=0
 
virtual void resourceUpdate (QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates)=0
 
virtual void beginPass (QRhiCommandBuffer *cb, QRhiRenderTarget *rt, const QColor &colorClearValue, const QRhiDepthStencilClearValue &depthStencilClearValue, QRhiResourceUpdateBatch *resourceUpdates, QRhiCommandBuffer::BeginPassFlags flags)=0
 
virtual void endPass (QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates)=0
 
virtual void setGraphicsPipeline (QRhiCommandBuffer *cb, QRhiGraphicsPipeline *ps)=0
 
virtual void setShaderResources (QRhiCommandBuffer *cb, QRhiShaderResourceBindings *srb, int dynamicOffsetCount, const QRhiCommandBuffer::DynamicOffset *dynamicOffsets)=0
 
virtual void setVertexInput (QRhiCommandBuffer *cb, int startBinding, int bindingCount, const QRhiCommandBuffer::VertexInput *bindings, QRhiBuffer *indexBuf, quint32 indexOffset, QRhiCommandBuffer::IndexFormat indexFormat)=0
 
virtual void setViewport (QRhiCommandBuffer *cb, const QRhiViewport &viewport)=0
 
virtual void setScissor (QRhiCommandBuffer *cb, const QRhiScissor &scissor)=0
 
virtual void setBlendConstants (QRhiCommandBuffer *cb, const QColor &c)=0
 
virtual void setStencilRef (QRhiCommandBuffer *cb, quint32 refValue)=0
 
virtual void draw (QRhiCommandBuffer *cb, quint32 vertexCount, quint32 instanceCount, quint32 firstVertex, quint32 firstInstance)=0
 
virtual void drawIndexed (QRhiCommandBuffer *cb, quint32 indexCount, quint32 instanceCount, quint32 firstIndex, qint32 vertexOffset, quint32 firstInstance)=0
 
virtual void debugMarkBegin (QRhiCommandBuffer *cb, const QByteArray &name)=0
 
virtual void debugMarkEnd (QRhiCommandBuffer *cb)=0
 
virtual void debugMarkMsg (QRhiCommandBuffer *cb, const QByteArray &msg)=0
 
virtual void beginComputePass (QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates, QRhiCommandBuffer::BeginPassFlags flags)=0
 
virtual void endComputePass (QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates)=0
 
virtual void setComputePipeline (QRhiCommandBuffer *cb, QRhiComputePipeline *ps)=0
 
virtual void dispatch (QRhiCommandBuffer *cb, int x, int y, int z)=0
 
virtual const QRhiNativeHandlesnativeHandles (QRhiCommandBuffer *cb)=0
 
virtual void beginExternal (QRhiCommandBuffer *cb)=0
 
virtual void endExternal (QRhiCommandBuffer *cb)=0
 
virtual double lastCompletedGpuTime (QRhiCommandBuffer *cb)=0
 
virtual QList< int > supportedSampleCounts () const =0
 
virtual int ubufAlignment () const =0
 
virtual bool isYUpInFramebuffer () const =0
 
virtual bool isYUpInNDC () const =0
 
virtual bool isClipDepthZeroToOne () const =0
 
virtual QMatrix4x4 clipSpaceCorrMatrix () const =0
 
virtual bool isTextureFormatSupported (QRhiTexture::Format format, QRhiTexture::Flags flags) const =0
 
virtual bool isFeatureSupported (QRhi::Feature feature) const =0
 
virtual int resourceLimit (QRhi::ResourceLimit limit) const =0
 
virtual const QRhiNativeHandlesnativeHandles ()=0
 
virtual QRhiDriverInfo driverInfo () const =0
 
virtual QRhiStats statistics ()=0
 
virtual bool makeThreadLocalNativeContextCurrent ()=0
 
virtual void releaseCachedResources ()=0
 
virtual bool isDeviceLost () const =0
 
virtual QByteArray pipelineCacheData ()=0
 
virtual void setPipelineCacheData (const QByteArray &data)=0
 
void prepareForCreate (QRhi *rhi, QRhi::Implementation impl, QRhi::Flags flags)
 
bool isCompressedFormat (QRhiTexture::Format format) const
 
void compressedFormatInfo (QRhiTexture::Format format, const QSize &size, quint32 *bpl, quint32 *byteSize, QSize *blockDim) const
 
void textureFormatInfo (QRhiTexture::Format format, const QSize &size, quint32 *bpl, quint32 *byteSize, quint32 *bytesPerPixel) const
 
bool isStencilSupportingFormat (QRhiTexture::Format format) const
 
void registerResource (QRhiResource *res, bool ownsNativeResources=true)
 
void unregisterResource (QRhiResource *res)
 
void addDeleteLater (QRhiResource *res)
 
void addCleanupCallback (const QRhi::CleanupCallback &callback)
 
bool sanityCheckGraphicsPipeline (QRhiGraphicsPipeline *ps)
 
bool sanityCheckShaderResourceBindings (QRhiShaderResourceBindings *srb)
 
void updateLayoutDesc (QRhiShaderResourceBindings *srb)
 
quint32 pipelineCacheRhiId () const
 
void pipelineCreationStart ()
 
void pipelineCreationEnd ()
 
qint64 totalPipelineCreationTime () const
 
QRhiVertexInputAttribute::Format shaderDescVariableFormatToVertexInputFormat (QShaderDescription::VariableType type) const
 
quint32 byteSizePerVertexForVertexInputFormat (QRhiVertexInputAttribute::Format format) const
 

Static Public Member Functions

static const QRhiShaderResourceBinding::DatashaderResourceBindingData (const QRhiShaderResourceBinding &binding)
 
static QRhiShaderResourceBinding::DatashaderResourceBindingData (QRhiShaderResourceBinding &binding)
 
static bool sortedBindingLessThan (const QRhiShaderResourceBinding &a, const QRhiShaderResourceBinding &b)
 

Public Attributes

QRhiq
 
bool debugMarkers = false
 
int currentFrameSlot = 0
 
bool inFrame = false
 

Static Public Attributes

static const int MAX_SHADER_CACHE_ENTRIES = 128
 

Friends

class QRhi
 
class QRhiResourceUpdateBatchPrivate
 

Detailed Description

Definition at line 33 of file qrhi_p.h.

Constructor & Destructor Documentation

◆ ~QRhiImplementation()

QRhiImplementation::~QRhiImplementation ( )
virtual

Definition at line 7697 of file qrhi.cpp.

References QHash< Key, T >::cbegin(), QHash< Key, T >::cend(), QHash< Key, T >::isEmpty(), it, qDeleteAll(), qEnvironmentVariableIntValue(), qWarning, resourceTypeStr(), and QHash< Key, T >::size().

+ Here is the call graph for this function:

Member Function Documentation

◆ addCleanupCallback()

void QRhiImplementation::addCleanupCallback ( const QRhi::CleanupCallback callback)
inline

Definition at line 177 of file qrhi_p.h.

Referenced by QRhi::addCleanupCallback().

+ Here is the caller graph for this function:

◆ addDeleteLater()

void QRhiImplementation::addDeleteLater ( QRhiResource res)
inline

Definition at line 169 of file qrhi_p.h.

Referenced by QRhiResource::deleteLater().

+ Here is the caller graph for this function:

◆ beginComputePass()

virtual void QRhiImplementation::beginComputePass ( QRhiCommandBuffer cb,
QRhiResourceUpdateBatch resourceUpdates,
QRhiCommandBuffer::BeginPassFlags  flags 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::beginComputePass().

+ Here is the caller graph for this function:

◆ beginExternal()

virtual void QRhiImplementation::beginExternal ( QRhiCommandBuffer cb)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::beginExternal().

+ Here is the caller graph for this function:

◆ beginFrame()

virtual QRhi::FrameOpResult QRhiImplementation::beginFrame ( QRhiSwapChain swapChain,
QRhi::BeginFrameFlags  flags 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::beginFrame().

+ Here is the caller graph for this function:

◆ beginOffscreenFrame()

virtual QRhi::FrameOpResult QRhiImplementation::beginOffscreenFrame ( QRhiCommandBuffer **  cb,
QRhi::BeginFrameFlags  flags 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::beginOffscreenFrame().

+ Here is the caller graph for this function:

◆ beginPass()

virtual void QRhiImplementation::beginPass ( QRhiCommandBuffer cb,
QRhiRenderTarget rt,
const QColor colorClearValue,
const QRhiDepthStencilClearValue depthStencilClearValue,
QRhiResourceUpdateBatch resourceUpdates,
QRhiCommandBuffer::BeginPassFlags  flags 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::beginPass().

+ Here is the caller graph for this function:

◆ byteSizePerVertexForVertexInputFormat()

◆ clipSpaceCorrMatrix()

virtual QMatrix4x4 QRhiImplementation::clipSpaceCorrMatrix ( ) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::clipSpaceCorrMatrix().

+ Here is the caller graph for this function:

◆ compressedFormatInfo()

◆ create()

virtual bool QRhiImplementation::create ( QRhi::Flags  flags)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

◆ createBuffer()

virtual QRhiBuffer * QRhiImplementation::createBuffer ( QRhiBuffer::Type  type,
QRhiBuffer::UsageFlags  usage,
quint32  size 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::newBuffer().

+ Here is the caller graph for this function:

◆ createComputePipeline()

virtual QRhiComputePipeline * QRhiImplementation::createComputePipeline ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::newComputePipeline().

+ Here is the caller graph for this function:

◆ createGraphicsPipeline()

virtual QRhiGraphicsPipeline * QRhiImplementation::createGraphicsPipeline ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::newGraphicsPipeline().

+ Here is the caller graph for this function:

◆ createRenderBuffer()

virtual QRhiRenderBuffer * QRhiImplementation::createRenderBuffer ( QRhiRenderBuffer::Type  type,
const QSize pixelSize,
int  sampleCount,
QRhiRenderBuffer::Flags  flags,
QRhiTexture::Format  backingFormatHint 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::newRenderBuffer().

+ Here is the caller graph for this function:

◆ createSampler()

virtual QRhiSampler * QRhiImplementation::createSampler ( QRhiSampler::Filter  magFilter,
QRhiSampler::Filter  minFilter,
QRhiSampler::Filter  mipmapMode,
QRhiSampler::AddressMode  u,
QRhiSampler::AddressMode  v,
QRhiSampler::AddressMode  w 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::newSampler().

+ Here is the caller graph for this function:

◆ createShaderResourceBindings()

virtual QRhiShaderResourceBindings * QRhiImplementation::createShaderResourceBindings ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::newShaderResourceBindings().

+ Here is the caller graph for this function:

◆ createSwapChain()

virtual QRhiSwapChain * QRhiImplementation::createSwapChain ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::newSwapChain().

+ Here is the caller graph for this function:

◆ createTexture()

virtual QRhiTexture * QRhiImplementation::createTexture ( QRhiTexture::Format  format,
const QSize pixelSize,
int  depth,
int  arraySize,
int  sampleCount,
QRhiTexture::Flags  flags 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::newTexture(), QRhi::newTexture(), and QRhi::newTextureArray().

+ Here is the caller graph for this function:

◆ createTextureRenderTarget()

virtual QRhiTextureRenderTarget * QRhiImplementation::createTextureRenderTarget ( const QRhiTextureRenderTargetDescription desc,
QRhiTextureRenderTarget::Flags  flags 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::newTextureRenderTarget().

+ Here is the caller graph for this function:

◆ debugMarkBegin()

virtual void QRhiImplementation::debugMarkBegin ( QRhiCommandBuffer cb,
const QByteArray name 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::debugMarkBegin().

+ Here is the caller graph for this function:

◆ debugMarkEnd()

virtual void QRhiImplementation::debugMarkEnd ( QRhiCommandBuffer cb)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::debugMarkEnd().

+ Here is the caller graph for this function:

◆ debugMarkMsg()

virtual void QRhiImplementation::debugMarkMsg ( QRhiCommandBuffer cb,
const QByteArray msg 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::debugMarkMsg().

+ Here is the caller graph for this function:

◆ destroy()

virtual void QRhiImplementation::destroy ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::~QRhi().

+ Here is the caller graph for this function:

◆ dispatch()

virtual void QRhiImplementation::dispatch ( QRhiCommandBuffer cb,
int  x,
int  y,
int  z 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::dispatch().

+ Here is the caller graph for this function:

◆ draw()

virtual void QRhiImplementation::draw ( QRhiCommandBuffer cb,
quint32  vertexCount,
quint32  instanceCount,
quint32  firstVertex,
quint32  firstInstance 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::draw().

+ Here is the caller graph for this function:

◆ drawIndexed()

virtual void QRhiImplementation::drawIndexed ( QRhiCommandBuffer cb,
quint32  indexCount,
quint32  instanceCount,
quint32  firstIndex,
qint32  vertexOffset,
quint32  firstInstance 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::drawIndexed().

+ Here is the caller graph for this function:

◆ driverInfo()

virtual QRhiDriverInfo QRhiImplementation::driverInfo ( ) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::driverInfo().

+ Here is the caller graph for this function:

◆ endComputePass()

virtual void QRhiImplementation::endComputePass ( QRhiCommandBuffer cb,
QRhiResourceUpdateBatch resourceUpdates 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::endComputePass().

+ Here is the caller graph for this function:

◆ endExternal()

virtual void QRhiImplementation::endExternal ( QRhiCommandBuffer cb)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::endExternal().

+ Here is the caller graph for this function:

◆ endFrame()

virtual QRhi::FrameOpResult QRhiImplementation::endFrame ( QRhiSwapChain swapChain,
QRhi::EndFrameFlags  flags 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::endFrame().

+ Here is the caller graph for this function:

◆ endOffscreenFrame()

virtual QRhi::FrameOpResult QRhiImplementation::endOffscreenFrame ( QRhi::EndFrameFlags  flags)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::endOffscreenFrame().

+ Here is the caller graph for this function:

◆ endPass()

virtual void QRhiImplementation::endPass ( QRhiCommandBuffer cb,
QRhiResourceUpdateBatch resourceUpdates 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::endPass().

+ Here is the caller graph for this function:

◆ finish()

virtual QRhi::FrameOpResult QRhiImplementation::finish ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::finish().

+ Here is the caller graph for this function:

◆ isClipDepthZeroToOne()

virtual bool QRhiImplementation::isClipDepthZeroToOne ( ) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::isClipDepthZeroToOne().

+ Here is the caller graph for this function:

◆ isCompressedFormat()

bool QRhiImplementation::isCompressedFormat ( QRhiTexture::Format  format) const

Definition at line 7731 of file qrhi.cpp.

References QRhiTexture::ASTC_12x12, QRhiTexture::ASTC_4x4, QRhiTexture::BC1, QRhiTexture::BC7, QRhiTexture::ETC2_RGB8, and QRhiTexture::ETC2_RGBA8.

Referenced by QRhiD3D11::enqueueSubresUpload(), QRhiGles2::enqueueSubresUpload(), QRhiMetal::enqueueSubresUpload(), QRhiGles2::isTextureFormatSupported(), QRhiVulkan::prepareUploadSubres(), and textureFormatInfo().

+ Here is the caller graph for this function:

◆ isDeviceLost()

virtual bool QRhiImplementation::isDeviceLost ( ) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::isDeviceLost().

+ Here is the caller graph for this function:

◆ isFeatureSupported()

virtual bool QRhiImplementation::isFeatureSupported ( QRhi::Feature  feature) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::isFeatureSupported().

+ Here is the caller graph for this function:

◆ isStencilSupportingFormat()

bool QRhiImplementation::isStencilSupportingFormat ( QRhiTexture::Format  format) const

Definition at line 7929 of file qrhi.cpp.

References QRhiTexture::D24S8.

◆ isTextureFormatSupported()

virtual bool QRhiImplementation::isTextureFormatSupported ( QRhiTexture::Format  format,
QRhiTexture::Flags  flags 
) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::isTextureFormatSupported().

+ Here is the caller graph for this function:

◆ isYUpInFramebuffer()

virtual bool QRhiImplementation::isYUpInFramebuffer ( ) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::isYUpInFramebuffer().

+ Here is the caller graph for this function:

◆ isYUpInNDC()

virtual bool QRhiImplementation::isYUpInNDC ( ) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::isYUpInNDC().

+ Here is the caller graph for this function:

◆ lastCompletedGpuTime()

virtual double QRhiImplementation::lastCompletedGpuTime ( QRhiCommandBuffer cb)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::lastCompletedGpuTime().

+ Here is the caller graph for this function:

◆ makeThreadLocalNativeContextCurrent()

virtual bool QRhiImplementation::makeThreadLocalNativeContextCurrent ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::makeThreadLocalNativeContextCurrent().

+ Here is the caller graph for this function:

◆ nativeHandles() [1/2]

virtual const QRhiNativeHandles * QRhiImplementation::nativeHandles ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

◆ nativeHandles() [2/2]

virtual const QRhiNativeHandles * QRhiImplementation::nativeHandles ( QRhiCommandBuffer cb)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::nativeHandles(), and QRhi::nativeHandles().

+ Here is the caller graph for this function:

◆ pipelineCacheData()

virtual QByteArray QRhiImplementation::pipelineCacheData ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::pipelineCacheData().

+ Here is the caller graph for this function:

◆ pipelineCacheRhiId()

quint32 QRhiImplementation::pipelineCacheRhiId ( ) const
inline

Definition at line 186 of file qrhi_p.h.

Referenced by QRhiD3D11::pipelineCacheData(), QRhiGles2::pipelineCacheData(), QRhiMetal::pipelineCacheData(), QRhiVulkan::pipelineCacheData(), QRhiD3D11::setPipelineCacheData(), QRhiGles2::setPipelineCacheData(), QRhiMetal::setPipelineCacheData(), and QRhiVulkan::setPipelineCacheData().

+ Here is the caller graph for this function:

◆ pipelineCreationEnd()

void QRhiImplementation::pipelineCreationEnd ( )
inline

Definition at line 197 of file qrhi_p.h.

◆ pipelineCreationStart()

void QRhiImplementation::pipelineCreationStart ( )
inline

Definition at line 192 of file qrhi_p.h.

◆ prepareForCreate()

void QRhiImplementation::prepareForCreate ( QRhi rhi,
QRhi::Implementation  impl,
QRhi::Flags  flags 
)

Definition at line 8083 of file qrhi.cpp.

References QThread::currentThread(), debugMarkers, QRhi::EnableDebugMarkers, qEnvironmentVariableIsSet(), and QtDebugMsg.

+ Here is the call graph for this function:

◆ registerResource()

void QRhiImplementation::registerResource ( QRhiResource res,
bool  ownsNativeResources = true 
)
inline

Definition at line 154 of file qrhi_p.h.

◆ releaseCachedResources()

virtual void QRhiImplementation::releaseCachedResources ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::releaseCachedResources().

+ Here is the caller graph for this function:

◆ resourceLimit()

virtual int QRhiImplementation::resourceLimit ( QRhi::ResourceLimit  limit) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::resourceLimit().

+ Here is the caller graph for this function:

◆ resourceUpdate()

virtual void QRhiImplementation::resourceUpdate ( QRhiCommandBuffer cb,
QRhiResourceUpdateBatch resourceUpdates 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::resourceUpdate().

+ Here is the caller graph for this function:

◆ sanityCheckGraphicsPipeline()

bool QRhiImplementation::sanityCheckGraphicsPipeline ( QRhiGraphicsPipeline ps)

Definition at line 7940 of file qrhi.cpp.

References QRhiGraphicsPipeline::cbeginShaderStages(), QRhiGraphicsPipeline::cendShaderStages(), it, qWarning, QRhiGraphicsPipeline::renderPassDescriptor(), QRhiGraphicsPipeline::shaderResourceBindings(), and QRhiShaderStage::Vertex.

+ Here is the call graph for this function:

◆ sanityCheckShaderResourceBindings()

◆ setBlendConstants()

virtual void QRhiImplementation::setBlendConstants ( QRhiCommandBuffer cb,
const QColor c 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::setBlendConstants().

+ Here is the caller graph for this function:

◆ setComputePipeline()

virtual void QRhiImplementation::setComputePipeline ( QRhiCommandBuffer cb,
QRhiComputePipeline ps 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::setComputePipeline().

+ Here is the caller graph for this function:

◆ setGraphicsPipeline()

virtual void QRhiImplementation::setGraphicsPipeline ( QRhiCommandBuffer cb,
QRhiGraphicsPipeline ps 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::setGraphicsPipeline().

+ Here is the caller graph for this function:

◆ setPipelineCacheData()

virtual void QRhiImplementation::setPipelineCacheData ( const QByteArray data)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::setPipelineCacheData().

+ Here is the caller graph for this function:

◆ setScissor()

virtual void QRhiImplementation::setScissor ( QRhiCommandBuffer cb,
const QRhiScissor scissor 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::setScissor().

+ Here is the caller graph for this function:

◆ setShaderResources()

virtual void QRhiImplementation::setShaderResources ( QRhiCommandBuffer cb,
QRhiShaderResourceBindings srb,
int  dynamicOffsetCount,
const QRhiCommandBuffer::DynamicOffset dynamicOffsets 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::setShaderResources().

+ Here is the caller graph for this function:

◆ setStencilRef()

virtual void QRhiImplementation::setStencilRef ( QRhiCommandBuffer cb,
quint32  refValue 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::setStencilRef().

+ Here is the caller graph for this function:

◆ setVertexInput()

virtual void QRhiImplementation::setVertexInput ( QRhiCommandBuffer cb,
int  startBinding,
int  bindingCount,
const QRhiCommandBuffer::VertexInput bindings,
QRhiBuffer indexBuf,
quint32  indexOffset,
QRhiCommandBuffer::IndexFormat  indexFormat 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::setVertexInput().

+ Here is the caller graph for this function:

◆ setViewport()

virtual void QRhiImplementation::setViewport ( QRhiCommandBuffer cb,
const QRhiViewport viewport 
)
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhiCommandBuffer::setViewport().

+ Here is the caller graph for this function:

◆ shaderDescVariableFormatToVertexInputFormat()

◆ shaderResourceBindingData() [1/2]

◆ shaderResourceBindingData() [2/2]

static QRhiShaderResourceBinding::Data * QRhiImplementation::shaderResourceBindingData ( QRhiShaderResourceBinding binding)
inlinestatic

Definition at line 215 of file qrhi_p.h.

◆ sortedBindingLessThan()

static bool QRhiImplementation::sortedBindingLessThan ( const QRhiShaderResourceBinding a,
const QRhiShaderResourceBinding b 
)
inlinestatic

Definition at line 220 of file qrhi_p.h.

Referenced by QD3D11ShaderResourceBindings::create(), QMetalShaderResourceBindings::create(), QVkShaderResourceBindings::create(), QD3D11ShaderResourceBindings::updateResources(), QMetalShaderResourceBindings::updateResources(), and QVkShaderResourceBindings::updateResources().

+ Here is the caller graph for this function:

◆ statistics()

virtual QRhiStats QRhiImplementation::statistics ( )
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::statistics().

+ Here is the caller graph for this function:

◆ supportedSampleCounts()

virtual QList< int > QRhiImplementation::supportedSampleCounts ( ) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::supportedSampleCounts().

+ Here is the caller graph for this function:

◆ textureFormatInfo()

void QRhiImplementation::textureFormatInfo ( QRhiTexture::Format  format,
const QSize size,
quint32 bpl,
quint32 byteSize,
quint32 bytesPerPixel 
) const

Definition at line 7858 of file qrhi.cpp.

References QRhiTexture::BGRA8, compressedFormatInfo(), QRhiTexture::D16, QRhiTexture::D24, QRhiTexture::D24S8, QRhiTexture::D32F, isCompressedFormat(), QRhiTexture::R16, QRhiTexture::R16F, QRhiTexture::R32F, QRhiTexture::R8, QRhiTexture::RED_OR_ALPHA8, QRhiTexture::RG16, QRhiTexture::RG8, QRhiTexture::RGB10A2, QRhiTexture::RGBA16F, QRhiTexture::RGBA32F, and QRhiTexture::RGBA8.

Referenced by QRhiD3D11::enqueueResourceUpdates(), QRhiVulkan::enqueueResourceUpdates(), QRhiD3D11::enqueueSubresUpload(), QRhiGles2::enqueueSubresUpload(), QRhiMetal::enqueueSubresUpload(), QRhiVulkan::prepareUploadSubres(), and QRhiNull::resourceUpdate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ totalPipelineCreationTime()

qint64 QRhiImplementation::totalPipelineCreationTime ( ) const
inline

Definition at line 202 of file qrhi_p.h.

Referenced by QRhiD3D11::statistics(), QRhiGles2::statistics(), QRhiMetal::statistics(), and QRhiVulkan::statistics().

+ Here is the caller graph for this function:

◆ ubufAlignment()

virtual int QRhiImplementation::ubufAlignment ( ) const
pure virtual

Implemented in QRhiD3D11, QRhiGles2, QRhiMetal, QRhiNull, and QRhiVulkan.

Referenced by QRhi::ubufAlignment().

+ Here is the caller graph for this function:

◆ unregisterResource()

void QRhiImplementation::unregisterResource ( QRhiResource res)
inline

Definition at line 164 of file qrhi_p.h.

◆ updateLayoutDesc()

Friends And Related Symbol Documentation

◆ QRhi

friend class QRhi
friend

Definition at line 245 of file qrhi_p.h.

◆ QRhiResourceUpdateBatchPrivate

friend class QRhiResourceUpdateBatchPrivate
friend

Definition at line 246 of file qrhi_p.h.

Member Data Documentation

◆ currentFrameSlot

◆ debugMarkers

◆ inFrame

◆ MAX_SHADER_CACHE_ENTRIES

const int QRhiImplementation::MAX_SHADER_CACHE_ENTRIES = 128
static

◆ q

QRhi* QRhiImplementation::q

Definition at line 225 of file qrhi_p.h.

Referenced by QRhiResource::rhi().


The documentation for this class was generated from the following files: