2023-03-31 19:11:10 +00:00
|
|
|
#pragma once
|
2016-03-17 13:48:19 +00:00
|
|
|
|
|
|
|
#include <glib.h>
|
2022-09-24 03:11:41 +00:00
|
|
|
#include "gdk/gdkdebugprivate.h"
|
2016-03-17 13:48:19 +00:00
|
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
typedef enum {
|
2018-01-14 20:11:33 +00:00
|
|
|
GSK_DEBUG_RENDERER = 1 << 0,
|
|
|
|
GSK_DEBUG_CAIRO = 1 << 1,
|
|
|
|
GSK_DEBUG_OPENGL = 1 << 2,
|
|
|
|
GSK_DEBUG_SHADERS = 1 << 3,
|
|
|
|
GSK_DEBUG_SURFACE = 1 << 4,
|
|
|
|
GSK_DEBUG_VULKAN = 1 << 5,
|
|
|
|
GSK_DEBUG_FALLBACK = 1 << 6,
|
|
|
|
GSK_DEBUG_GLYPH_CACHE = 1 << 7,
|
|
|
|
/* flags below may affect behavior */
|
2018-03-27 22:34:23 +00:00
|
|
|
GSK_DEBUG_GEOMETRY = 1 << 9,
|
|
|
|
GSK_DEBUG_FULL_REDRAW = 1 << 10,
|
|
|
|
GSK_DEBUG_SYNC = 1 << 11,
|
|
|
|
GSK_DEBUG_VULKAN_STAGING_IMAGE = 1 << 12,
|
|
|
|
GSK_DEBUG_VULKAN_STAGING_BUFFER = 1 << 13
|
2016-03-17 13:48:19 +00:00
|
|
|
} GskDebugFlags;
|
|
|
|
|
2018-01-14 20:11:33 +00:00
|
|
|
#define GSK_DEBUG_ANY ((1 << 13) - 1)
|
2016-03-17 13:48:19 +00:00
|
|
|
|
2018-01-14 14:52:52 +00:00
|
|
|
GskDebugFlags gsk_get_debug_flags (void);
|
2018-01-14 21:06:25 +00:00
|
|
|
void gsk_set_debug_flags (GskDebugFlags flags);
|
|
|
|
|
2016-03-17 13:48:19 +00:00
|
|
|
gboolean gsk_check_debug_flags (GskDebugFlags flags);
|
|
|
|
|
|
|
|
#ifdef G_ENABLE_DEBUG
|
|
|
|
|
|
|
|
#define GSK_DEBUG_CHECK(type) G_UNLIKELY (gsk_check_debug_flags (GSK_DEBUG_ ## type))
|
2018-01-14 14:52:52 +00:00
|
|
|
#define GSK_RENDERER_DEBUG_CHECK(renderer,type) \
|
|
|
|
G_UNLIKELY ((gsk_renderer_get_debug_flags (renderer) & GSK_DEBUG_ ## type) != 0)
|
2016-03-17 13:48:19 +00:00
|
|
|
|
2022-09-23 01:35:24 +00:00
|
|
|
#define GSK_RENDERER_DEBUG(renderer,type,...) \
|
2022-09-23 14:11:59 +00:00
|
|
|
G_STMT_START { \
|
2022-09-23 01:35:24 +00:00
|
|
|
if (GSK_RENDERER_DEBUG_CHECK (renderer,type)) \
|
|
|
|
gdk_debug_message (__VA_ARGS__); \
|
2022-09-23 14:11:59 +00:00
|
|
|
} G_STMT_END
|
2022-09-23 01:35:24 +00:00
|
|
|
|
|
|
|
#define GSK_DEBUG(type,...) \
|
2022-09-23 14:11:59 +00:00
|
|
|
G_STMT_START { \
|
2022-09-23 01:35:24 +00:00
|
|
|
if (GSK_DEBUG_CHECK (type)) \
|
|
|
|
gdk_debug_message (__VA_ARGS__); \
|
2022-09-23 14:11:59 +00:00
|
|
|
} G_STMT_END
|
2018-01-14 14:52:52 +00:00
|
|
|
|
2016-03-17 13:48:19 +00:00
|
|
|
#else
|
|
|
|
|
|
|
|
#define GSK_DEBUG_CHECK(type) 0
|
2018-01-14 14:52:52 +00:00
|
|
|
#define GSK_RENDERER_DEBUG_CHECK(renderer,type) 0
|
2022-09-23 01:35:24 +00:00
|
|
|
#define GSK_RENDERER_DEBUG(display,type,...)
|
|
|
|
#define GSK_DEBUG(type,...)
|
2016-03-17 13:48:19 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
|