Portably Suppressing a Specific Noisy OpenGL Debug Message When IDs Are Vendor-Defined
0 reputation · 16 Jun 2023, 07:29 UTC
The goal is to silence one recurring driver message (e.g., a performance hint that floods the callback) without losing other actionable messages of the same severity and type. The KHR_debug API (core since OpenGL 4.3) lets an application filter by source, type, and severity via glDebugMessageControl, but the message ID field is implementation-defined and undocumented across vendors. A filter that targets a single ID discovered at runtime on one GPU will not match the same message on another vendor's driver or even a different driver version. The alternative—broadening the filter to a whole severity or type—discards legitimate signals that share that classification. Synchronous delivery (GL_DEBUG_OUTPUT_SYNCHRONOUS) and debug-context creation are already configured; the question is strictly about portable, granular suppression.
- Is there any portable mechanism in the OpenGL specification to identify and suppress a specific driver message without relying on its numeric ID?
- If not, what runtime strategy—such as pattern-matching the message string—has proven stable across driver updates for the major desktop vendors?
- Does the ARB or KHR roadmap indicate any future extension that would assign stable, symbolic identifiers to common driver messages?