gst_gl_wrapped_context_init (GstGLWrappedContext * context)
{
}
+
+G_GNUC_INTERNAL gboolean
+_gst_gl_context_debug_is_enabled (GstGLContext * context)
+{
+#if !defined(GST_DISABLE_GST_DEBUG)
+ GstDebugLevel level;
+
+ level = gst_debug_category_get_threshold (gst_gl_debug);
+
+ if (level < GST_LEVEL_WARNING) {
+ GST_CAT_INFO_OBJECT (gst_gl_context_debug, context, "Disabling GL context "
+ "debugging (gldebug category debug level < warning)");
+ return FALSE;
+ }
+ return TRUE;
+#else
+ return FALSE;
+#endif
+}
G_GNUC_INTERNAL extern GstDebugCategory *gst_gl_context_debug;
+G_GNUC_INTERNAL
+gboolean _gst_gl_context_debug_is_enabled (GstGLContext * context);
+
G_END_DECLS
#endif /* __GST_GL_CONTEXT_PRIVATE_H__ */
return;
}
- level = gst_debug_category_get_threshold (gst_gl_debug);
-
- if (level < GST_LEVEL_ERROR) {
- GST_CAT_INFO_OBJECT (gst_gl_context_debug, context,
- "Disabling GL context debugging (gldebug category debug level < error)");
+ if (!_gst_gl_context_debug_is_enabled (context))
return;
- }
GST_CAT_INFO_OBJECT (gst_gl_context_debug, context,
"Enabling GL context debugging");
+ level = gst_debug_category_get_threshold (gst_gl_debug);
+
gl->DebugMessageCallback (_gst_gl_debug_callback, context);
if (level >= GST_LEVEL_DEBUG) {
/* enable them all */
#include "gstglframebuffer.h"
#include "gstglcontext.h"
+#include "gstglcontext_private.h"
#include "gstglfuncs.h"
#include "gstglmemory.h"
#include "gstglrenderbuffer.h"
return FALSE;
}
+ /* Don't do expensive framebuffer checks when debugging is disabled */
+ if (!_gst_gl_context_debug_is_enabled (context))
+ return TRUE;
+
switch (context->gl_vtable->CheckFramebufferStatus (fbo_target)) {
case GL_FRAMEBUFFER_COMPLETE:
return TRUE;