Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qssgrhicontext_p.h File Reference
#include "qtquick3druntimerenderglobal_p.h"
#include <QtCore/qstack.h>
#include <QtQuick3DUtils/private/qssgrenderbasetypes_p.h>
#include <QtGui/private/qrhi_p.h>
#include "private/qquick3dprofiler_p.h"
+ Include dependency graph for qssgrhicontext_p.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QSSGRhiInputAssemblerState
 
class  QSSGRhiBuffer
 
struct  QSSGRhiShaderUniform
 
struct  QSSGRhiShaderUniformArray
 
struct  QSSGRhiSamplerDescription
 
struct  QSSGRhiTexture
 
struct  QSSGShaderLightData
 
struct  QSSGShaderLightsUniformData
 
struct  QSSGRhiShadowMapProperties
 
class  QSSGRhiShaderPipeline
 
struct  QSSGRhiShaderPipeline::CommonUniformIndices
 
struct  QSSGRhiShaderPipeline::CommonUniformIndices::ImageIndices
 
struct  QSSGRhiShaderPipeline::InstanceLocations
 
struct  QSSGRhiGraphicsPipelineState
 
struct  QSSGGraphicsPipelineStateKey
 
struct  QSSGComputePipelineStateKey
 
struct  QSSGRhiShaderResourceBindingList
 
struct  QSSGRhiDrawCallDataKey
 
struct  QSSGRhiDrawCallData
 
struct  QSSGRhiRenderableTexture
 
struct  QSSGRhiSortData
 
struct  QSSGRhiInstanceBufferData
 
struct  QSSGRhiParticleData
 
struct  QSSGRhiDummyTextureKey
 
class  QSSGRhiContextStats
 
struct  QSSGRhiContextStats::DrawInfo
 
struct  QSSGRhiContextStats::InstancedDrawInfo
 
struct  QSSGRhiContextStats::RenderPassInfo
 
struct  QSSGRhiContextStats::PerLayerInfo
 
struct  QSSGRhiContextStats::GlobalInfo
 
class  QSSGRhiContext
 

Macros

#define QSSG_MAX_NUM_LIGHTS   15
 
#define QSSG_REDUCED_MAX_NUM_LIGHTS   5
 
#define QSSG_MAX_NUM_SHADOW_MAPS   8
 
#define QSSGRHICTX_STAT(ctx, f)   for (bool qssgrhictxlog_enabled = ctx->stats().isEnabled(); qssgrhictxlog_enabled; qssgrhictxlog_enabled = false) ctx->stats().f
 

Typedefs

using QSSGRhiBufferPtr = std::shared_ptr< QSSGRhiBuffer >
 
using QSSGRhiShaderPipelinePtr = std::shared_ptr< QSSGRhiShaderPipeline >
 

Enumerations

enum class  QSSGRhiSamplerBindingHints {
  LightProbe = 64 , ScreenTexture , DepthTexture , AoTexture ,
  LightmapTexture , BindingMapSize
}
 

Functions

QRhiSampler::Filter toRhi (QSSGRenderTextureFilterOp op)
 
QRhiSampler::AddressMode toRhi (QSSGRenderTextureCoordOp tiling)
 
bool operator== (const QSSGRhiSamplerDescription &a, const QSSGRhiSamplerDescription &b) Q_DECL_NOTHROW
 
bool operator!= (const QSSGRhiSamplerDescription &a, const QSSGRhiSamplerDescription &b) Q_DECL_NOTHROW
 
bool operator== (const QSSGRhiGraphicsPipelineState &a, const QSSGRhiGraphicsPipelineState &b) Q_DECL_NOTHROW
 
bool operator!= (const QSSGRhiGraphicsPipelineState &a, const QSSGRhiGraphicsPipelineState &b) Q_DECL_NOTHROW
 
size_t qHash (const QSSGRhiGraphicsPipelineState &s, size_t seed) Q_DECL_NOTHROW
 
bool operator== (const QSSGGraphicsPipelineStateKey &a, const QSSGGraphicsPipelineStateKey &b) Q_DECL_NOTHROW
 
bool operator!= (const QSSGGraphicsPipelineStateKey &a, const QSSGGraphicsPipelineStateKey &b) Q_DECL_NOTHROW
 
size_t qHash (const QSSGGraphicsPipelineStateKey &k, size_t seed) Q_DECL_NOTHROW
 
bool operator== (const QSSGComputePipelineStateKey &a, const QSSGComputePipelineStateKey &b) Q_DECL_NOTHROW
 
bool operator!= (const QSSGComputePipelineStateKey &a, const QSSGComputePipelineStateKey &b) Q_DECL_NOTHROW
 
size_t qHash (const QSSGComputePipelineStateKey &k, size_t seed=0) Q_DECL_NOTHROW
 
bool operator== (const QSSGRhiShaderResourceBindingList &a, const QSSGRhiShaderResourceBindingList &b) Q_DECL_NOTHROW
 
bool operator!= (const QSSGRhiShaderResourceBindingList &a, const QSSGRhiShaderResourceBindingList &b) Q_DECL_NOTHROW
 
size_t qHash (const QSSGRhiShaderResourceBindingList &bl, size_t seed) Q_DECL_NOTHROW
 
bool operator== (const QSSGRhiDrawCallDataKey &a, const QSSGRhiDrawCallDataKey &b) Q_DECL_NOTHROW
 
bool operator!= (const QSSGRhiDrawCallDataKey &a, const QSSGRhiDrawCallDataKey &b) Q_DECL_NOTHROW
 
size_t qHash (const QSSGRhiDrawCallDataKey &k, size_t seed=0) Q_DECL_NOTHROW
 
size_t qHash (const QSSGRhiDummyTextureKey &k, size_t seed) Q_DECL_NOTHROW
 
bool operator== (const QSSGRhiDummyTextureKey &a, const QSSGRhiDummyTextureKey &b) Q_DECL_NOTHROW
 
bool operator!= (const QSSGRhiDummyTextureKey &a, const QSSGRhiDummyTextureKey &b) Q_DECL_NOTHROW
 

Macro Definition Documentation

◆ QSSG_MAX_NUM_LIGHTS

#define QSSG_MAX_NUM_LIGHTS   15

Definition at line 166 of file qssgrhicontext_p.h.

◆ QSSG_MAX_NUM_SHADOW_MAPS

#define QSSG_MAX_NUM_SHADOW_MAPS   8

Definition at line 168 of file qssgrhicontext_p.h.

◆ QSSG_REDUCED_MAX_NUM_LIGHTS

#define QSSG_REDUCED_MAX_NUM_LIGHTS   5

Definition at line 167 of file qssgrhicontext_p.h.

◆ QSSGRHICTX_STAT

#define QSSGRHICTX_STAT (   ctx,
  f 
)    for (bool qssgrhictxlog_enabled = ctx->stats().isEnabled(); qssgrhictxlog_enabled; qssgrhictxlog_enabled = false) ctx->stats().f

Definition at line 789 of file qssgrhicontext_p.h.

Typedef Documentation

◆ QSSGRhiBufferPtr

using QSSGRhiBufferPtr = std::shared_ptr<QSSGRhiBuffer>

Definition at line 120 of file qssgrhicontext_p.h.

◆ QSSGRhiShaderPipelinePtr

Definition at line 396 of file qssgrhicontext_p.h.

Enumeration Type Documentation

◆ QSSGRhiSamplerBindingHints

enum class QSSGRhiSamplerBindingHints
strong
Enumerator
LightProbe 
ScreenTexture 
DepthTexture 
AoTexture 
LightmapTexture 
BindingMapSize 

Definition at line 154 of file qssgrhicontext_p.h.

Function Documentation

◆ operator!=() [1/7]

bool operator!= ( const QSSGComputePipelineStateKey a,
const QSSGComputePipelineStateKey b 
)
inline

Definition at line 545 of file qssgrhicontext_p.h.

◆ operator!=() [2/7]

bool operator!= ( const QSSGGraphicsPipelineStateKey a,
const QSSGGraphicsPipelineStateKey b 
)
inline

Definition at line 513 of file qssgrhicontext_p.h.

◆ operator!=() [3/7]

bool operator!= ( const QSSGRhiDrawCallDataKey a,
const QSSGRhiDrawCallDataKey b 
)
inline

Definition at line 689 of file qssgrhicontext_p.h.

◆ operator!=() [4/7]

bool operator!= ( const QSSGRhiDummyTextureKey a,
const QSSGRhiDummyTextureKey b 
)
inline

Definition at line 784 of file qssgrhicontext_p.h.

◆ operator!=() [5/7]

bool operator!= ( const QSSGRhiGraphicsPipelineState a,
const QSSGRhiGraphicsPipelineState b 
)
inline

Definition at line 461 of file qssgrhicontext_p.h.

◆ operator!=() [6/7]

bool operator!= ( const QSSGRhiSamplerDescription a,
const QSSGRhiSamplerDescription b 
)
inline

Definition at line 142 of file qssgrhicontext_p.h.

◆ operator!=() [7/7]

bool operator!= ( const QSSGRhiShaderResourceBindingList a,
const QSSGRhiShaderResourceBindingList b 
)
inline

Definition at line 603 of file qssgrhicontext_p.h.

◆ operator==() [1/7]

bool operator== ( const QSSGComputePipelineStateKey a,
const QSSGComputePipelineStateKey b 
)
inline

Definition at line 540 of file qssgrhicontext_p.h.

◆ operator==() [2/7]

bool operator== ( const QSSGGraphicsPipelineStateKey a,
const QSSGGraphicsPipelineStateKey b 
)
inline

Definition at line 506 of file qssgrhicontext_p.h.

◆ operator==() [3/7]

bool operator== ( const QSSGRhiDrawCallDataKey a,
const QSSGRhiDrawCallDataKey b 
)
inline

Definition at line 684 of file qssgrhicontext_p.h.

◆ operator==() [4/7]

bool operator== ( const QSSGRhiDummyTextureKey a,
const QSSGRhiDummyTextureKey b 
)
inline

Definition at line 779 of file qssgrhicontext_p.h.

◆ operator==() [5/7]

bool operator== ( const QSSGRhiGraphicsPipelineState a,
const QSSGRhiGraphicsPipelineState b 
)
inline

Definition at line 429 of file qssgrhicontext_p.h.

◆ operator==() [6/7]

bool operator== ( const QSSGRhiSamplerDescription a,
const QSSGRhiSamplerDescription b 
)
inline

Definition at line 135 of file qssgrhicontext_p.h.

◆ operator==() [7/7]

bool operator== ( const QSSGRhiShaderResourceBindingList a,
const QSSGRhiShaderResourceBindingList b 
)
inline

Definition at line 590 of file qssgrhicontext_p.h.

References i.

◆ qHash() [1/6]

size_t qHash ( const QSSGComputePipelineStateKey k,
size_t  seed = 0 
)
inline

Definition at line 550 of file qssgrhicontext_p.h.

References QSSGComputePipelineStateKey::extra, qHash(), seed, QSSGComputePipelineStateKey::shader, and QSSGComputePipelineStateKey::srbLayoutDescriptionHash.

+ Here is the call graph for this function:

◆ qHash() [2/6]

size_t qHash ( const QSSGGraphicsPipelineStateKey k,
size_t  seed 
)
inline

Definition at line 518 of file qssgrhicontext_p.h.

References qHash(), and seed.

+ Here is the call graph for this function:

◆ qHash() [3/6]

size_t qHash ( const QSSGRhiDrawCallDataKey k,
size_t  seed = 0 
)
inline

Definition at line 694 of file qssgrhicontext_p.h.

References QSSGRhiDrawCallDataKey::entry, QSSGRhiDrawCallDataKey::index, QSSGRhiDrawCallDataKey::layer, QSSGRhiDrawCallDataKey::model, qHash(), seed, and QSSGRhiDrawCallDataKey::selector.

+ Here is the call graph for this function:

◆ qHash() [4/6]

size_t qHash ( const QSSGRhiDummyTextureKey k,
size_t  seed 
)
inline

Definition at line 772 of file qssgrhicontext_p.h.

References qHash(), and seed.

+ Here is the call graph for this function:

◆ qHash() [5/6]

size_t qHash ( const QSSGRhiGraphicsPipelineState s,
size_t  seed 
)
inline

Definition at line 466 of file qssgrhicontext_p.h.

References qHash(), qHashBits(), and seed.

Referenced by QSSGComputePipelineStateKey::create(), QSSGGraphicsPipelineStateKey::create(), qHash(), qHash(), qHash(), qHash(), and qHash().

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

◆ qHash() [6/6]

size_t qHash ( const QSSGRhiShaderResourceBindingList bl,
size_t  seed 
)
inline

Definition at line 608 of file qssgrhicontext_p.h.

References seed.

◆ toRhi() [1/2]

◆ toRhi() [2/2]

Definition at line 1027 of file qssgrhicontext_p.h.

References QRhiSampler::Linear, Linear, QRhiSampler::Nearest, and Nearest.

Referenced by addOpaqueDepthPrePassBindings(), RenderHelpers::rhiPrepareRenderable(), QSSGCustomMaterialSystem::rhiPrepareRenderable(), and QSSGParticleRenderer::rhiPrepareRenderable().

+ Here is the caller graph for this function: