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
QSGBatchRenderer::Batch Struct Reference

#include <qsgbatchrenderer_p.h>

+ Collaboration diagram for QSGBatchRenderer::Batch:

Public Member Functions

 Batch ()
 
bool geometryWasChanged (QSGGeometryNode *gn)
 
BatchCompatibility isMaterialCompatible (Element *e) const
 
void invalidate ()
 
void cleanupRemovedElements ()
 
bool isTranslateOnlyToRoot () const
 
bool isSafeToBatch () const
 
void init ()
 

Public Attributes

Elementfirst
 
Noderoot
 
int positionAttribute
 
int vertexCount
 
int indexCount
 
int lastOrderInBatch
 
uint isOpaque: 1
 
uint needsUpload: 1
 
uint merged: 1
 
uint isRenderNode: 1
 
uint ubufDataValid: 1
 
uint needsPurge: 1
 
uint uploadedThisFrame: 1
 
Buffer vbo
 
Buffer ibo
 
QRhiBufferubuf
 
ClipState clipState
 
StencilClipState stencilClipState
 
QColor blendConstant
 
QDataBuffer< DrawSetdrawSets
 

Detailed Description

Definition at line 402 of file qsgbatchrenderer_p.h.

Constructor & Destructor Documentation

◆ Batch()

QSGBatchRenderer::Batch::Batch ( )
inline

Definition at line 404 of file qsgbatchrenderer_p.h.

Member Function Documentation

◆ cleanupRemovedElements()

void QSGBatchRenderer::Batch::cleanupRemovedElements ( )

Definition at line 735 of file qsgbatchrenderer.cpp.

References first, needsPurge, QSGBatchRenderer::Element::nextInBatch, and QSGBatchRenderer::Element::removed.

Referenced by invalidate().

+ Here is the caller graph for this function:

◆ geometryWasChanged()

bool QSGBatchRenderer::Batch::geometryWasChanged ( QSGGeometryNode * gn)

Definition at line 720 of file qsgbatchrenderer.cpp.

References QSGGeometry::attributes(), first, QSGBasicGeometryNode::geometry(), needsUpload, QSGBatchRenderer::Element::nextInBatch, QSGBatchRenderer::Element::node, Q_ASSERT_X, and QSGBatchRenderer::Element::removed.

Referenced by QSGBatchRenderer::Renderer::nodeChanged().

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

◆ init()

void QSGBatchRenderer::Batch::init ( )
inline

Definition at line 414 of file qsgbatchrenderer_p.h.

◆ invalidate()

void QSGBatchRenderer::Batch::invalidate ( )

Definition at line 764 of file qsgbatchrenderer.cpp.

References QSGBatchRenderer::Element::batch, cleanupRemovedElements(), first, QSGBatchRenderer::Element::nextInBatch, and root.

+ Here is the call graph for this function:

◆ isMaterialCompatible()

BatchCompatibility QSGBatchRenderer::Batch::isMaterialCompatible ( Element * e) const

Definition at line 696 of file qsgbatchrenderer.cpp.

References QSGGeometryNode::activeMaterial(), QSGBatchRenderer::BatchBreaksOnCompare, QSGBatchRenderer::BatchIsCompatible, QSGMaterial::compare(), first, QSGBatchRenderer::Element::nextInBatch, QSGBatchRenderer::Element::node, QSGBatchRenderer::Element::removed, QSGMaterial::type(), and QSGMaterial::viewCount().

Referenced by QSGBatchRenderer::Renderer::nodeChanged().

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

◆ isSafeToBatch()

bool QSGBatchRenderer::Batch::isSafeToBatch ( ) const

Definition at line 805 of file qsgbatchrenderer.cpp.

References QSGBatchRenderer::Element::boundsOutsideFloatRange, first, QSGBatchRenderer::is2DSafe(), QSGBasicGeometryNode::matrix(), QSGBatchRenderer::Element::nextInBatch, and QSGBatchRenderer::Element::node.

+ Here is the call graph for this function:

◆ isTranslateOnlyToRoot()

bool QSGBatchRenderer::Batch::isTranslateOnlyToRoot ( ) const

Member Data Documentation

◆ blendConstant

QColor QSGBatchRenderer::Batch::blendConstant

Definition at line 456 of file qsgbatchrenderer_p.h.

◆ clipState

ClipState QSGBatchRenderer::Batch::clipState

Definition at line 454 of file qsgbatchrenderer_p.h.

◆ drawSets

QDataBuffer<DrawSet> QSGBatchRenderer::Batch::drawSets

Definition at line 458 of file qsgbatchrenderer_p.h.

◆ first

◆ ibo

Buffer QSGBatchRenderer::Batch::ibo

Definition at line 452 of file qsgbatchrenderer_p.h.

Referenced by QSGBatchRenderer::qsg_wipeBatch().

◆ indexCount

int QSGBatchRenderer::Batch::indexCount

Definition at line 438 of file qsgbatchrenderer_p.h.

◆ isOpaque

uint QSGBatchRenderer::Batch::isOpaque

Definition at line 442 of file qsgbatchrenderer_p.h.

Referenced by QSGBatchRenderer::Renderer::nodeChanged().

◆ isRenderNode

uint QSGBatchRenderer::Batch::isRenderNode

Definition at line 445 of file qsgbatchrenderer_p.h.

◆ lastOrderInBatch

int QSGBatchRenderer::Batch::lastOrderInBatch

Definition at line 440 of file qsgbatchrenderer_p.h.

◆ merged

uint QSGBatchRenderer::Batch::merged

Definition at line 444 of file qsgbatchrenderer_p.h.

◆ needsPurge

uint QSGBatchRenderer::Batch::needsPurge

Definition at line 447 of file qsgbatchrenderer_p.h.

Referenced by cleanupRemovedElements().

◆ needsUpload

uint QSGBatchRenderer::Batch::needsUpload

Definition at line 443 of file qsgbatchrenderer_p.h.

Referenced by geometryWasChanged().

◆ positionAttribute

int QSGBatchRenderer::Batch::positionAttribute

Definition at line 435 of file qsgbatchrenderer_p.h.

◆ root

Node* QSGBatchRenderer::Batch::root

Definition at line 433 of file qsgbatchrenderer_p.h.

Referenced by invalidate().

◆ stencilClipState

StencilClipState QSGBatchRenderer::Batch::stencilClipState

Definition at line 455 of file qsgbatchrenderer_p.h.

Referenced by QSGBatchRenderer::qsg_wipeBatch().

◆ ubuf

QRhiBuffer* QSGBatchRenderer::Batch::ubuf

Definition at line 453 of file qsgbatchrenderer_p.h.

Referenced by QSGBatchRenderer::qsg_wipeBatch().

◆ ubufDataValid

uint QSGBatchRenderer::Batch::ubufDataValid

Definition at line 446 of file qsgbatchrenderer_p.h.

◆ uploadedThisFrame

uint QSGBatchRenderer::Batch::uploadedThisFrame
mutable

Definition at line 449 of file qsgbatchrenderer_p.h.

◆ vbo

Buffer QSGBatchRenderer::Batch::vbo

Definition at line 451 of file qsgbatchrenderer_p.h.

Referenced by QSGBatchRenderer::qsg_wipeBatch().

◆ vertexCount

int QSGBatchRenderer::Batch::vertexCount

Definition at line 437 of file qsgbatchrenderer_p.h.


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