IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QOpenGLDebugMessage Class

The QOpenGLDebugMessage class wraps an OpenGL debug message.

This class was introduced in Qt 5.1.

All functions in this class are reentrant.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QOpenGLDebugMessage Class

  • Header: QOpenGLDebugMessage

  • Since: Qt 5.1

  • CMake:

    find_package(Qt6 REQUIRED COMPONENTS OpenGL)

    target_link_libraries(mytarget PRIVATE Qt6::OpenGL)

  • qmake: QT += opengl

  • Group: QOpenGLDebugMessage is part of shared, painting-3D

Detailed Description

Debug messages are usually created by the OpenGL server and then read by OpenGL clients (either from the OpenGL internal debug log, or logged in real-time). A debug message has a textual representation, a vendor-specific numeric id, a source, a type and a severity.

It's also possible for applications or third-party libraries and toolkits to create and insert messages in the debug log. In order to do so, you can use the createApplicationMessage() or the createThirdPartyMessage() static functions.

See Also

Member Type Documentation

 

enum QOpenGLDebugMessage::Severity

flags QOpenGLDebugMessage::Severities

The Severity enum defines the severity of the debug message.

Constant

Value

Description

QOpenGLDebugMessage::InvalidSeverity

0x00000000

The severity of the message is invalid; this is the severity of a default-constructed QOpenGLDebugMessage object.

QOpenGLDebugMessage::HighSeverity

0x00000001

The message has a high severity.

QOpenGLDebugMessage::MediumSeverity

0x00000002

The message has a medium severity.

QOpenGLDebugMessage::LowSeverity

0x00000004

The message has a low severity.

QOpenGLDebugMessage::NotificationSeverity

0x00000008

The message is a notification.

QOpenGLDebugMessage::AnySeverity

0xffffffff

This value corresponds to a mask of all possible message severities.

The Severities type is a typedef for QFlags<Severity>. It stores an OR combination of Severity values.

enum QOpenGLDebugMessage::Source

flags QOpenGLDebugMessage::Sources

The Source enum defines the source of the debug message.

Constant

Value

Description

QOpenGLDebugMessage::InvalidSource

0x00000000

The source of the message is invalid; this is the source of a default-constructed QOpenGLDebugMessage object.

QOpenGLDebugMessage::APISource

0x00000001

The message was generated in response to OpenGL API calls.

QOpenGLDebugMessage::WindowSystemSource

0x00000002

The message was generated by the window system.

QOpenGLDebugMessage::ShaderCompilerSource

0x00000004

The message was generated by the shader compiler.

QOpenGLDebugMessage::ThirdPartySource

0x00000008

The message was generated by a third party, for instance an OpenGL framework a or debugging toolkit.

QOpenGLDebugMessage::ApplicationSource

0x00000010

The message was generated by the application itself.

QOpenGLDebugMessage::OtherSource

0x00000020

The message was generated by a source not included in this enumeration.

QOpenGLDebugMessage::AnySource

0xffffffff

This value corresponds to a mask of all possible message sources.

The Sources type is a typedef for QFlags<Source>. It stores an OR combination of Source values.

enum QOpenGLDebugMessage::Type

flags QOpenGLDebugMessage::Types

The Type enum defines the type of the debug message.

Constant

Value

Description

QOpenGLDebugMessage::InvalidType

0x00000000

The type of the message is invalid; this is the type of a default-constructed QOpenGLDebugMessage object.

QOpenGLDebugMessage::ErrorType

0x00000001

The message represents an error.

QOpenGLDebugMessage::DeprecatedBehaviorType

0x00000002

The message represents an usage of deprecated behavior.

QOpenGLDebugMessage::UndefinedBehaviorType

0x00000004

The message represents an usage of undefined behavior.

QOpenGLDebugMessage::PortabilityType

0x00000008

The message represents an usage of vendor-specific behavior, that might pose portability concerns.

QOpenGLDebugMessage::PerformanceType

0x00000010

The message represents a performance issue.

QOpenGLDebugMessage::OtherType

0x00000020

The message represents a type not included in this enumeration.

QOpenGLDebugMessage::MarkerType

0x00000040

The message represents a marker in the debug log.

QOpenGLDebugMessage::GroupPushType

0x00000080

The message represents a debug group push operation.

QOpenGLDebugMessage::GroupPopType

0x00000100

The message represents a debug group pop operation.

QOpenGLDebugMessage::AnyType

0xffffffff

This value corresponds to a mask of all possible message types.

The Types type is a typedef for QFlags<Type>. It stores an OR combination of Type values.

Member Function Documentation

 

QOpenGLDebugMessage::QOpenGLDebugMessage()

Constructs a debug message with an empty message string, id set to 0, source set to InvalidSource, type set to InvalidType, and severity set to InvalidSeverity.

This constructor should not be used to create a debug message; instead, use the createApplicationMessage() or the createThirdPartyMessage() static functions.

See Also

QOpenGLDebugMessage::QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage)

Constructs a debug message as a copy of debugMessage.

See Also

See also operator=()

QOpenGLDebugMessage::~QOpenGLDebugMessage()

Destroys this debug message.

[static] QOpenGLDebugMessage QOpenGLDebugMessage::createApplicationMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)

Constructs and returns a debug message with text as its text, id as id, severity as severity, and type as type. The message source will be set to ApplicationSource.

See Also

[static] QOpenGLDebugMessage QOpenGLDebugMessage::createThirdPartyMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)

Constructs and returns a debug message with text as its text, id as id, severity as severity, and type as type. The message source will be set to ThirdPartySource.

See Also

GLuint QOpenGLDebugMessage::id() const

Returns the id of the debug message. Ids are generally vendor-specific.

QString QOpenGLDebugMessage::message() const

Returns the textual message contained by this debug message.

QOpenGLDebugMessage::Severity QOpenGLDebugMessage::severity() const

Returns the severity of the debug message.

QOpenGLDebugMessage::Source QOpenGLDebugMessage::source() const

Returns the source of the debug message.

void QOpenGLDebugMessage::swap(QOpenGLDebugMessage &debugMessage)

Swaps the message debugMessage with this message. This operation is very fast and never fails.

QOpenGLDebugMessage::Type QOpenGLDebugMessage::type() const

Returns the type of the debug message.

bool QOpenGLDebugMessage::operator!=(const QOpenGLDebugMessage &debugMessage) const

Returns true if this message is different from debugMessage, or false otherwise.

See Also

See also operator==()

QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(const QOpenGLDebugMessage &debugMessage)

Assigns the message debugMessage to this object, and returns a reference to the copy.

QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(QOpenGLDebugMessage &&debugMessage)

Move-assigns debugMessage to this object.

bool QOpenGLDebugMessage::operator==(const QOpenGLDebugMessage &debugMessage) const

Returns true if this debug message is equal to debugMessage, or false otherwise. Two debugging messages are equal if they have the same textual message, the same id, the same source, the same type and the same severity.

See Also

See also operator!=()

Related Non-Members

 

QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Source source)

Writes the source source into the debug object debug for debugging purposes.

QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Type type)

Writes the type type into the debug object debug for debugging purposes.

QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Severity severity)

Writes the severity severity into the debug object debug for debugging purposes.

QDebug operator<<(QDebug debug, const QOpenGLDebugMessage &message)

Writes the message message into the debug object debug for debugging purposes.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+