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
qrhi_p.h File Reference

(bb1d9bab36d779e595a924e3218d4066d84fca38)

#include <rhi/qrhi.h>
#include <QBitArray>
#include <QAtomicInt>
#include <QElapsedTimer>
#include <QLoggingCategory>
#include <QtCore/qset.h>
#include <QtCore/qvarlengtharray.h>
+ Include dependency graph for qrhi_p.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  QRhiImplementation
 
struct  QRhiBufferDataPrivate
 
class  QRhiBufferData
 
class  QRhiResourceUpdateBatchPrivate
 
struct  QRhiResourceUpdateBatchPrivate::BufferOp
 
struct  QRhiResourceUpdateBatchPrivate::TextureOp
 
struct  QRhiBatchedBindings< T >
 
struct  QRhiBatchedBindings< T >::Batch
 
class  QRhiGlobalObjectIdGenerator
 
class  QRhiPassResourceTracker
 
struct  QRhiPassResourceTracker::UsageState
 
struct  QRhiPassResourceTracker::Buffer
 
struct  QRhiPassResourceTracker::Texture
 
class  QRhiBackendCommandList< T, GROW >
 
struct  QRhiRenderTargetAttachmentTracker
 
struct  QRhiRenderTargetAttachmentTracker::ResId
 

Macros

#define QRHI_RES(t, x)   static_cast<t *>(x)
 
#define QRHI_RES_RHI(t)   t *rhiD = static_cast<t *>(m_rhi)
 

Enumerations

enum  QRhiTargetRectBoundMode { UnBounded , Bounded }
 

Functions

template<QRhiTargetRectBoundMode boundingMode, typename T , size_t N>
bool qrhi_toTopLeftRenderTargetRect (const QSize &outputSize, const std::array< T, N > &r, T *x, T *y, T *w, T *h)
 
 Q_DECLARE_TYPEINFO (QRhiBufferData, Q_RELOCATABLE_TYPE)
 
 Q_DECLARE_TYPEINFO (QRhiPassResourceTracker::Buffer, Q_RELOCATABLE_TYPE)
 
 Q_DECLARE_TYPEINFO (QRhiPassResourceTracker::Texture, Q_RELOCATABLE_TYPE)
 
bool operator== (const QRhiRenderTargetAttachmentTracker::ResId &a, const QRhiRenderTargetAttachmentTracker::ResId &b)
 
bool operator!= (const QRhiRenderTargetAttachmentTracker::ResId &a, const QRhiRenderTargetAttachmentTracker::ResId &b)
 
template<typename T >
T * qrhi_objectFromProxyData (QRhiSwapChainProxyData *pd, QWindow *window, QRhi::Implementation impl, uint objectIndex)
 

Macro Definition Documentation

◆ QRHI_RES

#define QRHI_RES ( t,
x )   static_cast<t *>(x)

Definition at line 28 of file qrhi_p.h.

Referenced by QRhiVulkan::activateTextureRenderTarget(), QRhiMetal::adjustForMultiViewDraw(), QRhiD3D11::beginComputePass(), QRhiGles2::beginComputePass(), QRhiMetal::beginComputePass(), QRhiVulkan::beginComputePass(), QRhiD3D11::beginExternal(), QRhiGles2::beginExternal(), QRhiVulkan::beginExternal(), QRhiD3D11::beginFrame(), QRhiGles2::beginFrame(), QRhiMetal::beginFrame(), QRhiVulkan::beginFrame(), QRhiD3D11::beginPass(), QRhiGles2::beginPass(), QRhiMetal::beginPass(), QRhiNull::beginPass(), QRhiVulkan::beginPass(), QRhiGles2::bindShaderResources(), QD3D11TextureRenderTarget::create(), QGles2TextureRenderTarget::create(), QMetalTextureRenderTarget::create(), QNullTextureRenderTarget::create(), QVkRenderBuffer::create(), QVkTextureRenderTarget::create(), QVkShaderResourceBindings::create(), QVkGraphicsPipeline::create(), QVkComputePipeline::create(), QRhiVulkan::createOffscreenRenderPass(), QD3D11SwapChain::createOrResize(), QMetalSwapChain::createOrResize(), QNullSwapChain::createOrResize(), QVkSwapChain::createOrResize(), QMetalGraphicsPipeline::createVertexFragmentPipeline(), QRhiD3D11::debugMarkBegin(), QRhiMetal::debugMarkBegin(), QRhiVulkan::debugMarkBegin(), QRhiD3D11::debugMarkEnd(), QRhiMetal::debugMarkEnd(), QRhiVulkan::debugMarkEnd(), QRhiD3D11::debugMarkMsg(), QRhiMetal::debugMarkMsg(), QRhiVulkan::debugMarkMsg(), QRhiD3D11::dispatch(), QRhiGles2::dispatch(), QRhiMetal::dispatch(), QRhiVulkan::dispatch(), QRhiD3D11::draw(), QRhiGles2::draw(), QRhiMetal::draw(), QRhiVulkan::draw(), QRhiD3D11::drawIndexed(), QRhiGles2::drawIndexed(), QRhiMetal::drawIndexed(), QRhiVulkan::drawIndexed(), QRhiD3D11::endComputePass(), QRhiGles2::endComputePass(), QRhiMetal::endComputePass(), QRhiVulkan::endComputePass(), QRhiD3D11::endExternal(), QRhiGles2::endExternal(), QRhiMetal::endExternal(), QRhiVulkan::endExternal(), QRhiD3D11::endFrame(), QRhiGles2::endFrame(), QRhiMetal::endFrame(), QRhiNull::endFrame(), QRhiVulkan::endFrame(), QRhiD3D11::endPass(), QRhiGles2::endPass(), QRhiMetal::endPass(), QRhiVulkan::endPass(), endTessellationComputeEncoding(), QRhiGles2::enqueueBindFramebuffer(), QRhiD3D11::enqueueResourceUpdates(), QRhiGles2::enqueueResourceUpdates(), QRhiMetal::enqueueResourceUpdates(), QRhiVulkan::enqueueResourceUpdates(), QRhiMetal::enqueueShaderResourceBindings(), QRhiGles2::executeCommandBuffer(), QGles2SwapChain::initSwapChainRenderTarget(), QMetalRenderPassDescriptor::isCompatible(), QVkRenderPassDescriptor::isCompatible(), QRhiD3D11::lastCompletedGpuTime(), QRhiGles2::lastCompletedGpuTime(), QRhiMetal::lastCompletedGpuTime(), QRhiVulkan::lastCompletedGpuTime(), maybeRenderTargetData(), QRhiMetal::nativeHandles(), QRhiVulkan::nativeHandles(), QMetalTextureRenderTarget::newCompatibleRenderPassDescriptor(), QRhiVulkan::prepareNewFrame(), QRhiVulkan::recordTransitionPassResources(), QRhiVulkan::recreateSwapChain(), QRhiVulkan::releaseSwapChainResources(), QRhiD3D11::resourceUpdate(), QRhiGles2::resourceUpdate(), QRhiMetal::resourceUpdate(), QRhiNull::resourceUpdate(), QRhiVulkan::resourceUpdate(), rtData(), QRhiD3D11::setBlendConstants(), QRhiGles2::setBlendConstants(), QRhiMetal::setBlendConstants(), QRhiVulkan::setBlendConstants(), QRhiD3D11::setComputePipeline(), QRhiGles2::setComputePipeline(), QRhiMetal::setComputePipeline(), QRhiVulkan::setComputePipeline(), QRhiD3D11::setGraphicsPipeline(), QRhiGles2::setGraphicsPipeline(), QRhiMetal::setGraphicsPipeline(), QRhiVulkan::setGraphicsPipeline(), QRhiD3D11::setScissor(), QRhiGles2::setScissor(), QRhiMetal::setScissor(), QRhiVulkan::setScissor(), QRhiD3D11::setShaderResources(), QRhiGles2::setShaderResources(), QRhiMetal::setShaderResources(), QRhiVulkan::setShaderResources(), QRhiD3D11::setStencilRef(), QRhiGles2::setStencilRef(), QRhiMetal::setStencilRef(), QRhiVulkan::setStencilRef(), QMetalGraphicsPipelineData::setupStageInputDescriptor(), QMetalGraphicsPipelineData::setupVertexInputDescriptor(), QRhiD3D11::setVertexInput(), QRhiGles2::setVertexInput(), QRhiMetal::setVertexInput(), QRhiVulkan::setVertexInput(), QRhiD3D11::setViewport(), QRhiGles2::setViewport(), QRhiMetal::setViewport(), QRhiVulkan::setViewport(), QRhiNull::simulateTextureCopy(), QRhiNull::simulateTextureGenMips(), QRhiNull::simulateTextureUpload(), QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline(), QRhiRenderTargetAttachmentTracker::updateResIdList(), QRhiD3D11::updateShaderResourceBindings(), and QRhiVulkan::updateShaderResourceBindings().

◆ QRHI_RES_RHI

#define QRHI_RES_RHI ( t)    t *rhiD = static_cast<t *>(m_rhi)

Definition at line 29 of file qrhi_p.h.

Referenced by QD3D11Buffer::beginFullDynamicBufferUpdateForCurrentFrame(), QGles2Buffer::beginFullDynamicBufferUpdateForCurrentFrame(), QMetalBuffer::beginFullDynamicBufferUpdateForCurrentFrame(), QVkBuffer::beginFullDynamicBufferUpdateForCurrentFrame(), QMetalSwapChain::chooseFormats(), QD3D11Buffer::create(), QD3D11RenderBuffer::create(), QD3D11Texture::create(), QD3D11Sampler::create(), QD3D11TextureRenderTarget::create(), QD3D11ShaderResourceBindings::create(), QD3D11GraphicsPipeline::create(), QD3D11ComputePipeline::create(), QGles2Buffer::create(), QGles2RenderBuffer::create(), QGles2Texture::create(), QGles2Sampler::create(), QGles2TextureRenderTarget::create(), QGles2ShaderResourceBindings::create(), QGles2GraphicsPipeline::create(), QGles2ComputePipeline::create(), QMetalBuffer::create(), QMetalRenderBuffer::create(), QMetalTexture::create(), QMetalSampler::create(), QMetalTextureRenderTarget::create(), QMetalShaderResourceBindings::create(), QMetalGraphicsPipeline::create(), QMetalComputePipeline::create(), QNullBuffer::create(), QNullRenderBuffer::create(), QNullTexture::create(), QNullSampler::create(), QNullTextureRenderTarget::create(), QNullShaderResourceBindings::create(), QNullGraphicsPipeline::create(), QNullComputePipeline::create(), QVkBuffer::create(), QVkRenderBuffer::create(), QVkTexture::create(), QVkSampler::create(), QVkTextureRenderTarget::create(), QVkShaderResourceBindings::create(), QVkGraphicsPipeline::create(), QVkComputePipeline::create(), QGles2RenderBuffer::createFrom(), QD3D11Texture::createFrom(), QGles2Texture::createFrom(), QMetalTexture::createFrom(), QNullTexture::createFrom(), QVkTexture::createFrom(), QD3D11SwapChain::createOrResize(), QGles2SwapChain::createOrResize(), QMetalSwapChain::createOrResize(), QNullSwapChain::createOrResize(), QVkSwapChain::createOrResize(), QMetalGraphicsPipeline::createTessellationPipelines(), QMetalGraphicsPipeline::createVertexFragmentPipeline(), QD3D11Buffer::destroy(), QD3D11RenderBuffer::destroy(), QD3D11Texture::destroy(), QD3D11Sampler::destroy(), QD3D11RenderPassDescriptor::destroy(), QD3D11TextureRenderTarget::destroy(), QD3D11ShaderResourceBindings::destroy(), QD3D11GraphicsPipeline::destroy(), QD3D11ComputePipeline::destroy(), QD3D11SwapChain::destroy(), QGles2Buffer::destroy(), QGles2RenderBuffer::destroy(), QGles2Texture::destroy(), QGles2Sampler::destroy(), QGles2RenderPassDescriptor::destroy(), QGles2TextureRenderTarget::destroy(), QGles2ShaderResourceBindings::destroy(), QGles2GraphicsPipeline::destroy(), QGles2ComputePipeline::destroy(), QGles2SwapChain::destroy(), QMetalBuffer::destroy(), QMetalRenderBuffer::destroy(), QMetalTexture::destroy(), QMetalSampler::destroy(), QMetalRenderPassDescriptor::destroy(), QMetalTextureRenderTarget::destroy(), QMetalShaderResourceBindings::destroy(), QMetalGraphicsPipeline::destroy(), QMetalComputePipeline::destroy(), QMetalSwapChain::destroy(), QNullBuffer::destroy(), QNullRenderBuffer::destroy(), QNullTexture::destroy(), QNullSampler::destroy(), QNullRenderPassDescriptor::destroy(), QNullTextureRenderTarget::destroy(), QNullShaderResourceBindings::destroy(), QNullGraphicsPipeline::destroy(), QNullComputePipeline::destroy(), QNullSwapChain::destroy(), QVkBuffer::destroy(), QVkRenderBuffer::destroy(), QVkTexture::destroy(), QVkSampler::destroy(), QVkRenderPassDescriptor::destroy(), QVkTextureRenderTarget::destroy(), QVkShaderResourceBindings::destroy(), QVkGraphicsPipeline::destroy(), QVkComputePipeline::destroy(), QVkSwapChain::destroy(), QD3D11Buffer::endFullDynamicBufferUpdateForCurrentFrame(), QGles2Buffer::endFullDynamicBufferUpdateForCurrentFrame(), QMetalBuffer::endFullDynamicBufferUpdateForCurrentFrame(), QVkBuffer::endFullDynamicBufferUpdateForCurrentFrame(), QVkSwapChain::ensureSurface(), QD3D11Texture::finishCreate(), QVkTexture::finishCreate(), QD3D11SwapChain::hdrInfo(), QD3D11SwapChain::isFormatSupported(), QVkSwapChain::isFormatSupported(), QD3D11Buffer::nativeBuffer(), QMetalBuffer::nativeBuffer(), QVkBuffer::nativeBuffer(), QD3D11SwapChain::newColorBuffer(), QD3D11RenderPassDescriptor::newCompatibleRenderPassDescriptor(), QGles2RenderPassDescriptor::newCompatibleRenderPassDescriptor(), QMetalRenderPassDescriptor::newCompatibleRenderPassDescriptor(), QNullRenderPassDescriptor::newCompatibleRenderPassDescriptor(), QVkRenderPassDescriptor::newCompatibleRenderPassDescriptor(), QD3D11TextureRenderTarget::newCompatibleRenderPassDescriptor(), QD3D11SwapChain::newCompatibleRenderPassDescriptor(), QGles2TextureRenderTarget::newCompatibleRenderPassDescriptor(), QGles2SwapChain::newCompatibleRenderPassDescriptor(), QMetalTextureRenderTarget::newCompatibleRenderPassDescriptor(), QMetalSwapChain::newCompatibleRenderPassDescriptor(), QNullTextureRenderTarget::newCompatibleRenderPassDescriptor(), QNullSwapChain::newCompatibleRenderPassDescriptor(), QVkTextureRenderTarget::newCompatibleRenderPassDescriptor(), QVkSwapChain::newCompatibleRenderPassDescriptor(), QVkTexture::perLevelImageViewForLoadStore(), QD3D11Texture::prepareCreate(), QGles2Texture::prepareCreate(), QMetalTexture::prepareCreate(), QVkTexture::prepareCreate(), QMetalGraphicsPipeline::setupAttachmentsInMetalRenderPassDescriptor(), QVkSwapChain::surfacePixelSize(), QD3D11Buffer::unorderedAccessView(), and QD3D11Texture::unorderedAccessViewForLevel().

Enumeration Type Documentation

◆ QRhiTargetRectBoundMode

Enumerator
UnBounded 
Bounded 

Definition at line 262 of file qrhi_p.h.

Function Documentation

◆ operator!=()

Definition at line 748 of file qrhi_p.h.

◆ operator==()

Definition at line 743 of file qrhi_p.h.

◆ Q_DECLARE_TYPEINFO() [1/3]

Q_DECLARE_TYPEINFO ( QRhiBufferData ,
Q_RELOCATABLE_TYPE  )

◆ Q_DECLARE_TYPEINFO() [2/3]

◆ Q_DECLARE_TYPEINFO() [3/3]

◆ qrhi_objectFromProxyData()

template<typename T >
T * qrhi_objectFromProxyData ( QRhiSwapChainProxyData * pd,
QWindow * window,
QRhi::Implementation impl,
uint objectIndex )
inline

Definition at line 808 of file qrhi_p.h.

References Q_ASSERT, QRhiSwapChainProxyData::reserved, QRhi::updateSwapChainProxyData(), and window().

+ Here is the call graph for this function:

◆ qrhi_toTopLeftRenderTargetRect()

template<QRhiTargetRectBoundMode boundingMode, typename T , size_t N>
bool qrhi_toTopLeftRenderTargetRect ( const QSize & outputSize,
const std::array< T, N > & r,
T * x,
T * y,
T * w,
T * h )

Definition at line 269 of file qrhi_p.h.

References Bounded, QSize::height(), and QSize::width().

+ Here is the call graph for this function: