![]() |
Qt 6.x
The Qt SDK
|
Classes | |
class | Allocator |
class | AllocatorPage |
struct | Batch |
struct | BatchRootInfo |
struct | Buffer |
struct | ClipBatchRootInfo |
struct | ClipState |
struct | DrawSet |
struct | Element |
struct | GraphicsPipelineStateKey |
struct | GraphicsState |
struct | Node |
struct | Pt |
struct | Rect |
class | Renderer |
struct | RenderNodeElement |
struct | RenderNodeState |
struct | RenderPassState |
class | RhiVisualizer |
class | ShaderManager |
struct | ShaderManagerShader |
struct | StencilClipState |
class | Updater |
class | Visualizer |
Enumerations | |
enum | BatchCompatibility { BatchBreaksOnCompare , BatchIsCompatible } |
Variables | |
QSGMaterial::Flag | QSGMaterial_FullMatrix = (QSGMaterial::Flag) (QSGMaterial::RequiresFullMatrix & ~QSGMaterial::RequiresFullMatrixExceptTranslate) |
const float | OPAQUE_LIMIT = 0.999f |
const uint | DYNAMIC_VERTEX_INDEX_BUFFER_THRESHOLD = 4 |
const int | VERTEX_BUFFER_BINDING = 0 |
const int | ZORDER_BUFFER_BINDING = VERTEX_BUFFER_BINDING + 1 |
const float | VIEWPORT_MIN_DEPTH = 0.0f |
const float | VIEWPORT_MAX_DEPTH = 1.0f |
const QRhiShaderResourceBinding::StageFlags | ubufVisibility |
Enumerator | |
---|---|
BatchBreaksOnCompare | |
BatchIsCompatible |
Definition at line 354 of file qsgbatchrenderer_p.h.
Definition at line 91 of file qsgbatchrenderer.cpp.
Definition at line 250 of file qsgrhivisualizer.cpp.
|
inlinestatic |
Definition at line 1841 of file qsgbatchrenderer.cpp.
References e, VIEWPORT_MAX_DEPTH, and VIEWPORT_MIN_DEPTH.
|
static |
Definition at line 124 of file qsgbatchrenderer.cpp.
References QVarLengthArray< T, Prealloc >::append(), QSGGeometry::attributeCount(), QSGGeometry::attributes(), QVarLengthArray< T, Prealloc >::cbegin(), QVarLengthArray< T, Prealloc >::cend(), QRhiVertexInputAttribute::Float, QSGMaterialShaderPrivate::get(), i, Q_ASSERT, qsg_vertexInputFormat(), QSGMaterialShaderPrivate::ShaderStageData::qt_order_attrib_location, qWarning, QVarLengthArray< T, Prealloc >::reserve(), QRhiVertexInputLayout::setAttributes(), QRhiVertexInputLayout::setBindings(), size_of_type(), QSGGeometry::sizeOfVertex(), VERTEX_BUFFER_BINDING, QSGMaterialShaderPrivate::ShaderStageData::vertexInputLocations, QSGMaterialShaderPrivate::vertexShader, and ZORDER_BUFFER_BINDING.
Referenced by QSGBatchRenderer::ShaderManager::prepareMaterial(), and QSGBatchRenderer::ShaderManager::prepareMaterialNoRewrite().
|
static |
Definition at line 255 of file qsgrhivisualizer.cpp.
References QRhiBuffer::Dynamic, QRhi::newBuffer(), and QRhiBuffer::setSize().
|
static |
Definition at line 234 of file qsgrhivisualizer.cpp.
References QSGBatchRenderer::RhiVisualizer::DrawCall::count, QSGBatchRenderer::RhiVisualizer::DrawCall::data, QSGBatchRenderer::RhiVisualizer::DrawCall::format, QSGBatchRenderer::RhiVisualizer::DrawCall::index, QRhiCommandBuffer::IndexUInt32, qsg_indexFormat(), qsg_topology(), qsg_vertexInputFormat(), QSGBatchRenderer::RhiVisualizer::DrawCall::stride, QSGBatchRenderer::RhiVisualizer::DrawCall::topology, and QSGBatchRenderer::RhiVisualizer::DrawCall::vertex.
|
inline |
Definition at line 179 of file qsgbatchrenderer_p.h.
References QSGMaterial::Blending.
Referenced by QSGBatchRenderer::Renderer::nodeChanged(), and QSGBatchRenderer::Element::setNode().
|
static |
Definition at line 79 of file qsgbatchrenderer.cpp.
References QMatrix4x4::Rotation.
Referenced by QSGBatchRenderer::Batch::isSafeToBatch().
|
static |
Definition at line 78 of file qsgbatchrenderer.cpp.
References QMatrix4x4::Scale.
Referenced by QSGBatchRenderer::Rect::map().
|
static |
Definition at line 77 of file qsgbatchrenderer.cpp.
References QMatrix4x4::Translation.
Referenced by QSGBatchRenderer::Updater::visitGeometryNode().
|
static |
Definition at line 2803 of file qsgbatchrenderer.cpp.
|
inlinestatic |
Definition at line 2558 of file qsgbatchrenderer.cpp.
References QRhiGraphicsPipeline::ConstantAlpha, QRhiGraphicsPipeline::ConstantColor, QRhiGraphicsPipeline::OneMinusConstantAlpha, and QRhiGraphicsPipeline::OneMinusConstantColor.
|
static |
Definition at line 2684 of file qsgbatchrenderer.cpp.
References QRhiSampler::ClampToEdge, QSGTexture::ClampToEdge, desc, QRhiSampler::Linear, QSGTexture::Linear, QRhiSampler::Mirror, QSGTexture::MirroredRepeat, QRhiSampler::Nearest, QSGTexture::Nearest, QRhi::newSampler(), QRhiSampler::None, QSGTexture::None, Q_FALLTHROUGH, QRhiSampler::Repeat, and QSGTexture::Repeat.
|
noexcept |
Definition at line 4088 of file qsgbatchrenderer.cpp.
|
noexcept |
Definition at line 4060 of file qsgbatchrenderer.cpp.
Definition at line 203 of file qsgbatchrenderer_p.h.
References d.
Definition at line 256 of file qsgbatchrenderer_p.h.
References d.
|
noexcept |
Definition at line 4080 of file qsgbatchrenderer.cpp.
|
noexcept |
Definition at line 4040 of file qsgbatchrenderer.cpp.
|
noexcept |
|
noexcept |
Definition at line 4065 of file qsgbatchrenderer.cpp.
References seed.
Referenced by QSGBatchRenderer::GraphicsPipelineStateKey::create(), and qHash().
|
static |
Definition at line 1495 of file qsgbatchrenderer.cpp.
References QDataBuffer< Type >::add(), QDataBuffer< Type >::at(), e, i, QDataBuffer< Type >::reset(), and QDataBuffer< Type >::size().
|
static |
Definition at line 1483 of file qsgbatchrenderer.cpp.
References QDataBuffer< Type >::add(), QDataBuffer< Type >::at(), e, i, QDataBuffer< Type >::reset(), and QDataBuffer< Type >::size().
|
static |
Definition at line 806 of file qsgbatchrenderer.cpp.
References e, QSGBatchRenderer::Batch::first, and sum.
Referenced by qsg_countNodesInBatches().
|
static |
Definition at line 817 of file qsgbatchrenderer.cpp.
References QDataBuffer< Type >::at(), i, qsg_countNodesInBatch(), QDataBuffer< Type >::size(), and sum.
Referenced by QSGBatchRenderer::Renderer::prepareRenderPass().
void QSGBatchRenderer::qsg_dumpShadowRoots | ( | BatchRootInfo * | i, |
int | indent | ||
) |
Definition at line 293 of file qsgbatchrenderer.cpp.
References QByteArray::constData(), i, it, qDebug, and qsg_dumpShadowRoots().
Referenced by qsg_dumpShadowRoots(), qsg_dumpShadowRoots(), and QSGBatchRenderer::Updater::updateStates().
Definition at line 314 of file qsgbatchrenderer.cpp.
References child, QSGNode::ClipNodeType, QByteArray::constData(), d, Qt::dec(), QSGNode::GeometryNodeType, Qt::hex(), Q_UNUSED, qDebug, qsg_dumpShadowRoots(), and SHADOWNODE_TRAVERSE.
|
inlinestatic |
Definition at line 1820 of file qsgbatchrenderer.cpp.
References QSGGeometry::DrawLines, QSGGeometry::DrawTriangles, and QSGGeometry::DrawTriangleStrip.
QRhiCommandBuffer::IndexFormat QSGBatchRenderer::qsg_indexFormat | ( | const QSGGeometry * | geometry | ) |
Definition at line 164 of file qsgbatchrenderer.cpp.
References QSGGeometry::indexType(), QRhiCommandBuffer::IndexUInt16, QRhiCommandBuffer::IndexUInt32, QSGGeometry::UnsignedIntType, and QSGGeometry::UnsignedShortType.
Referenced by fillVertexIndex().
QMatrix4x4 QSGBatchRenderer::qsg_matrixForRoot | ( | Node * | node | ) |
Definition at line 1962 of file qsgbatchrenderer.cpp.
References QSGNode::ClipNodeType, QSGBasicGeometryNode::matrix(), Q_ASSERT, QSGBatchRenderer::Node::sgNode, QSGNode::TransformNodeType, and QSGBatchRenderer::Node::type().
int QSGBatchRenderer::qsg_positionAttribute | ( | QSGGeometry * | g | ) |
Definition at line 604 of file qsgbatchrenderer.cpp.
References QSGGeometry::FloatType, QSGGeometry::Attribute::isVertexCoordinate, size_of_type(), QSGGeometry::Attribute::tupleSize, and QSGGeometry::Attribute::type.
Referenced by QSGBatchRenderer::Element::computeBounds().
Definition at line 73 of file qsgbatchrenderer.cpp.
Referenced by QSGBatchRenderer::Renderer::prepareRenderPass().
Definition at line 72 of file qsgbatchrenderer.cpp.
Referenced by QSGBatchRenderer::Renderer::prepareRenderPass().
Definition at line 71 of file qsgbatchrenderer.cpp.
Definition at line 70 of file qsgbatchrenderer.cpp.
Definition at line 69 of file qsgbatchrenderer.cpp.
QRhiGraphicsPipeline::Topology QSGBatchRenderer::qsg_topology | ( | int | geomDrawMode | ) |
Definition at line 178 of file qsgbatchrenderer.cpp.
References QSGGeometry::DrawLines, QSGGeometry::DrawLineStrip, QSGGeometry::DrawPoints, QSGGeometry::DrawTriangles, QSGGeometry::DrawTriangleStrip, QRhiGraphicsPipeline::Lines, QRhiGraphicsPipeline::LineStrip, QRhiGraphicsPipeline::Points, qWarning, QRhiGraphicsPipeline::Triangles, and QRhiGraphicsPipeline::TriangleStrip.
Referenced by fillVertexIndex().
QRhiVertexInputAttribute::Format QSGBatchRenderer::qsg_vertexInputFormat | ( | const QSGGeometry::Attribute & | a | ) |
Definition at line 96 of file qsgbatchrenderer.cpp.
References QRhiVertexInputAttribute::Float, QRhiVertexInputAttribute::Float2, QRhiVertexInputAttribute::Float3, QRhiVertexInputAttribute::Float4, QSGGeometry::FloatType, qWarning, QRhiVertexInputAttribute::UNormByte, QRhiVertexInputAttribute::UNormByte2, QRhiVertexInputAttribute::UNormByte4, and QSGGeometry::UnsignedByteType.
Referenced by calculateVertexInputLayout(), and fillVertexIndex().
Definition at line 899 of file qsgbatchrenderer.cpp.
References QSGBatchRenderer::Batch::ibo, qsg_wipeBuffer(), QSGBatchRenderer::StencilClipState::reset(), QSGBatchRenderer::Batch::stencilClipState, QSGBatchRenderer::Batch::ubuf, and QSGBatchRenderer::Batch::vbo.
Referenced by QSGBatchRenderer::Renderer::~Renderer().
Definition at line 887 of file qsgbatchrenderer.cpp.
Referenced by qsg_wipeBatch().
|
static |
Definition at line 2773 of file qsgbatchrenderer.cpp.
References QRhiGraphicsPipeline::A, QSGMaterialShader::GraphicsPipelineState::A, QRhiGraphicsPipeline::Back, QSGMaterialShader::GraphicsPipelineState::CullBack, QRhiGraphicsPipeline::Line, QSGMaterialShader::GraphicsPipelineState::Line, QRhiGraphicsPipeline::OneMinusSrc1Alpha, QSGMaterialShader::GraphicsPipelineState::OneMinusSrc1Alpha, and Q_ASSERT.
|
inlinestatic |
Definition at line 50 of file qsgbatchrenderer.cpp.
References QSGGeometry::ByteType, QSGGeometry::DoubleType, and Q_ASSERT.
Referenced by calculateVertexInputLayout(), and qsg_positionAttribute().
const uint QSGBatchRenderer::DYNAMIC_VERTEX_INDEX_BUFFER_THRESHOLD = 4 |
Definition at line 83 of file qsgbatchrenderer.cpp.
const float QSGBatchRenderer::OPAQUE_LIMIT = 0.999f |
Definition at line 81 of file qsgbatchrenderer.cpp.
Referenced by QSGBatchRenderer::Updater::visitOpacityNode().
QSGMaterial::Flag QSGBatchRenderer::QSGMaterial_FullMatrix = (QSGMaterial::Flag) (QSGMaterial::RequiresFullMatrix & ~QSGMaterial::RequiresFullMatrixExceptTranslate) |
Definition at line 75 of file qsgbatchrenderer.cpp.
const QRhiShaderResourceBinding::StageFlags QSGBatchRenderer::ubufVisibility |
Definition at line 149 of file qsgrhivisualizer.cpp.
const int QSGBatchRenderer::VERTEX_BUFFER_BINDING = 0 |
Definition at line 84 of file qsgbatchrenderer.cpp.
Referenced by calculateVertexInputLayout().
const float QSGBatchRenderer::VIEWPORT_MAX_DEPTH = 1.0f |
Definition at line 88 of file qsgbatchrenderer.cpp.
Referenced by calculateElementZOrder(), and QSGBatchRenderer::Renderer::prepareRenderPass().
const float QSGBatchRenderer::VIEWPORT_MIN_DEPTH = 0.0f |
Definition at line 87 of file qsgbatchrenderer.cpp.
Referenced by calculateElementZOrder(), and QSGBatchRenderer::Renderer::prepareRenderPass().
const int QSGBatchRenderer::ZORDER_BUFFER_BINDING = VERTEX_BUFFER_BINDING + 1 |
Definition at line 85 of file qsgbatchrenderer.cpp.
Referenced by calculateVertexInputLayout().