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
QSSGRhiContextPrivate Class Reference

#include <qssgrhicontext_p.h>

Collaboration diagram for QSSGRhiContextPrivate:

Public Types

using Textures = QSet<QRhiTexture *>
using Meshes = QSet<QSSGRenderMesh *>

Public Member Functions

void setMainRenderPassDescriptor (QRhiRenderPassDescriptor *rpDesc)
void setCommandBuffer (QRhiCommandBuffer *cb)
void setRenderTarget (QRhiRenderTarget *rt)
void setMainPassSampleCount (int samples)
void setMainPassViewCount (int viewCount)
void releaseCachedResources ()
void registerTexture (QRhiTexture *texture)
void releaseTexture (QRhiTexture *texture)
void registerMesh (QSSGRenderMesh *mesh)
void releaseMesh (QSSGRenderMesh *mesh)
QRhiShaderResourceBindings * srb (const QSSGRhiShaderResourceBindingList &bindings)
void releaseCachedSrb (QSSGRhiShaderResourceBindingList &bindings)
QRhiGraphicsPipeline * pipeline (const QSSGRhiGraphicsPipelineState &ps, QRhiRenderPassDescriptor *rpDesc, QRhiShaderResourceBindings *srb)
QRhiGraphicsPipeline * pipeline (const QSSGGraphicsPipelineStateKey &key, QRhiRenderPassDescriptor *rpDesc, QRhiShaderResourceBindings *srb)
QRhiComputePipeline * computePipeline (const QShader &shader, QRhiShaderResourceBindings *srb)
QRhiComputePipeline * computePipeline (const QSSGComputePipelineStateKey &key, QRhiShaderResourceBindings *srb)
QSSGRhiDrawCallData & drawCallData (const QSSGRhiDrawCallDataKey &key)
void releaseDrawCallData (QSSGRhiDrawCallData &dcd)
void cleanupDrawCallData (const QSSGRenderModel *model)
void cleanupDrawCallDataForResource (const void *resource)
void cleanupDrawCallDataForCid (const void *cid)
void cleanupDrawCallDataForSkyMaterial (QSSGRenderSkyMaterial *skyMaterial)
QSSGRhiInstanceBufferData & instanceBufferData (QSSGRenderInstanceTable *instanceTable)
void releaseInstanceBuffer (QSSGRenderInstanceTable *instanceTable)
QSSGRhiInstanceBufferData & instanceBufferData (const QSSGRenderModel *model)
QSSGRhiParticleData & particleData (const QSSGRenderGraphObject *particlesOrModel)

Static Public Member Functions

static QSSGRhiContextPrivate * get (QSSGRhiContext *q)
static const QSSGRhiContextPrivate * get (const QSSGRhiContext *q)
static bool shaderDebuggingEnabled ()
static bool editorMode ()

Public Attributes

QSSGRhiContext * q_ptr = nullptr
QRhi * m_rhi = nullptr
QRhiRenderPassDescriptor * m_mainRpDesc = nullptr
QRhiCommandBuffer * m_cb = nullptr
QRhiRenderTarget * m_rt = nullptr
Textures m_textures
Meshes m_meshes
int m_mainSamples = 1
int m_mainViewCount = 1
QVector< QPair< QSSGRhiSamplerDescription, QRhiSampler * > > m_samplers
QHash< QSSGRhiDrawCallDataKey, QSSGRhiDrawCallData > m_drawCallData
QHash< QSSGRhiShaderResourceBindingList, QRhiShaderResourceBindings * > m_srbCache
QHash< QSSGGraphicsPipelineStateKey, QRhiGraphicsPipeline * > m_pipelines
QHash< QSSGComputePipelineStateKey, QRhiComputePipeline * > m_computePipelines
QHash< QSSGRhiDummyTextureKey, QRhiTexture * > m_dummyTextures
QHash< QSSGRenderInstanceTable *, QSSGRhiInstanceBufferData > m_instanceBuffers
QHash< const QSSGRenderModel *, QSSGRhiInstanceBufferData > m_instanceBuffersLod
QHash< const QSSGRenderGraphObject *, QSSGRhiParticleData > m_particleData
QSSGRhiContextStats m_stats

Detailed Description

Definition at line 1087 of file qssgrhicontext_p.h.

Member Typedef Documentation

◆ Meshes

◆ Textures

Member Function Documentation

◆ cleanupDrawCallData()

void QSSGRhiContextPrivate::cleanupDrawCallData ( const QSSGRenderModel * model)

Definition at line 1467 of file qssgrhicontext.cpp.

◆ cleanupDrawCallDataForCid()

void QSSGRhiContextPrivate::cleanupDrawCallDataForCid ( const void * cid)

Definition at line 1498 of file qssgrhicontext.cpp.

◆ cleanupDrawCallDataForResource()

void QSSGRhiContextPrivate::cleanupDrawCallDataForResource ( const void * resource)

Definition at line 1483 of file qssgrhicontext.cpp.

◆ cleanupDrawCallDataForSkyMaterial()

void QSSGRhiContextPrivate::cleanupDrawCallDataForSkyMaterial ( QSSGRenderSkyMaterial * skyMaterial)

Definition at line 1514 of file qssgrhicontext.cpp.

◆ computePipeline() [1/2]

QRhiComputePipeline * QSSGRhiContextPrivate::computePipeline ( const QShader & shader,
QRhiShaderResourceBindings * srb )

Definition at line 1345 of file qssgrhicontext.cpp.

◆ computePipeline() [2/2]

QRhiComputePipeline * QSSGRhiContextPrivate::computePipeline ( const QSSGComputePipelineStateKey & key,
QRhiShaderResourceBindings * srb )

Definition at line 1919 of file qssgrhicontext.cpp.

◆ drawCallData()

QSSGRhiDrawCallData & QSSGRhiContextPrivate::drawCallData ( const QSSGRhiDrawCallDataKey & key)

Definition at line 1351 of file qssgrhicontext.cpp.

◆ editorMode()

bool QSSGRhiContextPrivate::editorMode ( )
staticnodiscard

Definition at line 1844 of file qssgrhicontext.cpp.

◆ get() [1/2]

const QSSGRhiContextPrivate * QSSGRhiContextPrivate::get ( const QSSGRhiContext * q)
inlinestaticnodiscard

Definition at line 1102 of file qssgrhicontext_p.h.

◆ get() [2/2]

QSSGRhiContextPrivate * QSSGRhiContextPrivate::get ( QSSGRhiContext * q)
inlinestaticnodiscard

Definition at line 1101 of file qssgrhicontext_p.h.

◆ instanceBufferData() [1/2]

QSSGRhiInstanceBufferData & QSSGRhiContextPrivate::instanceBufferData ( const QSSGRenderModel * model)

Definition at line 1589 of file qssgrhicontext.cpp.

◆ instanceBufferData() [2/2]

QSSGRhiInstanceBufferData & QSSGRhiContextPrivate::instanceBufferData ( QSSGRenderInstanceTable * instanceTable)

Definition at line 1575 of file qssgrhicontext.cpp.

◆ particleData()

QSSGRhiParticleData & QSSGRhiContextPrivate::particleData ( const QSSGRenderGraphObject * particlesOrModel)

Definition at line 1594 of file qssgrhicontext.cpp.

◆ pipeline() [1/2]

QRhiGraphicsPipeline * QSSGRhiContextPrivate::pipeline ( const QSSGGraphicsPipelineStateKey & key,
QRhiRenderPassDescriptor * rpDesc,
QRhiShaderResourceBindings * srb )

Definition at line 1850 of file qssgrhicontext.cpp.

◆ pipeline() [2/2]

QRhiGraphicsPipeline * QSSGRhiContextPrivate::pipeline ( const QSSGRhiGraphicsPipelineState & ps,
QRhiRenderPassDescriptor * rpDesc,
QRhiShaderResourceBindings * srb )

Definition at line 1338 of file qssgrhicontext.cpp.

◆ registerMesh()

void QSSGRhiContextPrivate::registerMesh ( QSSGRenderMesh * mesh)

Definition at line 1446 of file qssgrhicontext.cpp.

◆ registerTexture()

void QSSGRhiContextPrivate::registerTexture ( QRhiTexture * texture)

Definition at line 1435 of file qssgrhicontext.cpp.

◆ releaseCachedResources()

void QSSGRhiContextPrivate::releaseCachedResources ( )

Definition at line 1254 of file qssgrhicontext.cpp.

◆ releaseCachedSrb()

void QSSGRhiContextPrivate::releaseCachedSrb ( QSSGRhiShaderResourceBindingList & bindings)

Definition at line 1321 of file qssgrhicontext.cpp.

◆ releaseDrawCallData()

void QSSGRhiContextPrivate::releaseDrawCallData ( QSSGRhiDrawCallData & dcd)

Definition at line 1327 of file qssgrhicontext.cpp.

◆ releaseInstanceBuffer()

void QSSGRhiContextPrivate::releaseInstanceBuffer ( QSSGRenderInstanceTable * instanceTable)

Definition at line 1580 of file qssgrhicontext.cpp.

◆ releaseMesh()

void QSSGRhiContextPrivate::releaseMesh ( QSSGRenderMesh * mesh)

Definition at line 1451 of file qssgrhicontext.cpp.

◆ releaseTexture()

void QSSGRhiContextPrivate::releaseTexture ( QRhiTexture * texture)

Definition at line 1440 of file qssgrhicontext.cpp.

◆ setCommandBuffer()

void QSSGRhiContextPrivate::setCommandBuffer ( QRhiCommandBuffer * cb)

Definition at line 1190 of file qssgrhicontext.cpp.

◆ setMainPassSampleCount()

void QSSGRhiContextPrivate::setMainPassSampleCount ( int samples)

Definition at line 1225 of file qssgrhicontext.cpp.

◆ setMainPassViewCount()

void QSSGRhiContextPrivate::setMainPassViewCount ( int viewCount)

Definition at line 1239 of file qssgrhicontext.cpp.

◆ setMainRenderPassDescriptor()

void QSSGRhiContextPrivate::setMainRenderPassDescriptor ( QRhiRenderPassDescriptor * rpDesc)

Definition at line 1175 of file qssgrhicontext.cpp.

◆ setRenderTarget()

void QSSGRhiContextPrivate::setRenderTarget ( QRhiRenderTarget * rt)

Definition at line 1204 of file qssgrhicontext.cpp.

◆ shaderDebuggingEnabled()

bool QSSGRhiContextPrivate::shaderDebuggingEnabled ( )
staticnodiscard

Definition at line 1838 of file qssgrhicontext.cpp.

◆ srb()

QRhiShaderResourceBindings * QSSGRhiContextPrivate::srb ( const QSSGRhiShaderResourceBindingList & bindings)

Definition at line 1303 of file qssgrhicontext.cpp.

Member Data Documentation

◆ m_cb

QRhiCommandBuffer* QSSGRhiContextPrivate::m_cb = nullptr

Definition at line 1156 of file qssgrhicontext_p.h.

◆ m_computePipelines

QHash<QSSGComputePipelineStateKey, QRhiComputePipeline *> QSSGRhiContextPrivate::m_computePipelines

Definition at line 1168 of file qssgrhicontext_p.h.

◆ m_drawCallData

QHash<QSSGRhiDrawCallDataKey, QSSGRhiDrawCallData> QSSGRhiContextPrivate::m_drawCallData

Definition at line 1165 of file qssgrhicontext_p.h.

◆ m_dummyTextures

QHash<QSSGRhiDummyTextureKey, QRhiTexture *> QSSGRhiContextPrivate::m_dummyTextures

Definition at line 1169 of file qssgrhicontext_p.h.

◆ m_instanceBuffers

QHash<QSSGRenderInstanceTable *, QSSGRhiInstanceBufferData> QSSGRhiContextPrivate::m_instanceBuffers

Definition at line 1170 of file qssgrhicontext_p.h.

◆ m_instanceBuffersLod

QHash<const QSSGRenderModel *, QSSGRhiInstanceBufferData> QSSGRhiContextPrivate::m_instanceBuffersLod

Definition at line 1171 of file qssgrhicontext_p.h.

◆ m_mainRpDesc

QRhiRenderPassDescriptor* QSSGRhiContextPrivate::m_mainRpDesc = nullptr

Definition at line 1155 of file qssgrhicontext_p.h.

◆ m_mainSamples

int QSSGRhiContextPrivate::m_mainSamples = 1

Definition at line 1160 of file qssgrhicontext_p.h.

◆ m_mainViewCount

int QSSGRhiContextPrivate::m_mainViewCount = 1

Definition at line 1161 of file qssgrhicontext_p.h.

◆ m_meshes

Meshes QSSGRhiContextPrivate::m_meshes

Definition at line 1159 of file qssgrhicontext_p.h.

◆ m_particleData

QHash<const QSSGRenderGraphObject *, QSSGRhiParticleData> QSSGRhiContextPrivate::m_particleData

Definition at line 1172 of file qssgrhicontext_p.h.

◆ m_pipelines

QHash<QSSGGraphicsPipelineStateKey, QRhiGraphicsPipeline *> QSSGRhiContextPrivate::m_pipelines

Definition at line 1167 of file qssgrhicontext_p.h.

◆ m_rhi

QRhi* QSSGRhiContextPrivate::m_rhi = nullptr

Definition at line 1153 of file qssgrhicontext_p.h.

◆ m_rt

QRhiRenderTarget* QSSGRhiContextPrivate::m_rt = nullptr

Definition at line 1157 of file qssgrhicontext_p.h.

◆ m_samplers

QVector<QPair<QSSGRhiSamplerDescription, QRhiSampler*> > QSSGRhiContextPrivate::m_samplers

Definition at line 1163 of file qssgrhicontext_p.h.

◆ m_srbCache

QHash<QSSGRhiShaderResourceBindingList, QRhiShaderResourceBindings *> QSSGRhiContextPrivate::m_srbCache

Definition at line 1166 of file qssgrhicontext_p.h.

◆ m_stats

QSSGRhiContextStats QSSGRhiContextPrivate::m_stats

Definition at line 1173 of file qssgrhicontext_p.h.

◆ m_textures

Textures QSSGRhiContextPrivate::m_textures

Definition at line 1158 of file qssgrhicontext_p.h.

◆ q_ptr

QSSGRhiContext* QSSGRhiContextPrivate::q_ptr = nullptr

Definition at line 1152 of file qssgrhicontext_p.h.


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