Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
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)
 
void addCleanupCallback (const void *key, const QRhi::CleanupCallback &callback)
 
void removeCleanupCallback (const void *key)
 
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
 
int effectiveSampleCount (int sampleCount) 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 8024 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() [1/2]

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

Definition at line 177 of file qrhi_p.h.

Referenced by QRhi::addCleanupCallback(), and QRhi::addCleanupCallback().

+ Here is the caller graph for this function:

◆ addCleanupCallback() [2/2]

void QRhiImplementation::addCleanupCallback ( const void * key,
const QRhi::CleanupCallback & callback )
inline

Definition at line 182 of file qrhi_p.h.

◆ 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:

◆ effectiveSampleCount()

int QRhiImplementation::effectiveSampleCount ( int sampleCount) const

Definition at line 8386 of file qrhi.cpp.

References i, qBound(), qCDebug, and supportedSampleCounts().

Referenced by QRhiVulkan::effectiveSampleCountBits(), and QRhiD3D11::effectiveSampleDesc().

+ Here is the call graph for this function:
+ 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 8058 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 8256 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 196 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 207 of file qrhi_p.h.

◆ pipelineCreationStart()

void QRhiImplementation::pipelineCreationStart ( )
inline

Definition at line 202 of file qrhi_p.h.

◆ prepareForCreate()

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

Definition at line 8445 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:

◆ removeCleanupCallback()

void QRhiImplementation::removeCleanupCallback ( const void * key)
inline

Definition at line 187 of file qrhi_p.h.

Referenced by QRhi::removeCleanupCallback().

+ 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 8267 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 225 of file qrhi_p.h.

◆ sortedBindingLessThan()

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

Definition at line 230 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 effectiveSampleCount(), and 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 8185 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 212 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 258 of file qrhi_p.h.

◆ QRhiResourceUpdateBatchPrivate

friend class QRhiResourceUpdateBatchPrivate
friend

Definition at line 259 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 237 of file qrhi_p.h.

Referenced by QRhiResource::rhi().


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