| |
| #ifndef INLINE_DEBUG_HELPER_H |
| #define INLINE_DEBUG_HELPER_H |
| |
| #include "pipe/p_compiler.h" |
| #include "util/u_debug.h" |
| #include "util/u_tests.h" |
| |
| |
| /* Helper function to wrap a screen with |
| * one or more debug drivers. |
| */ |
| |
| #include "driver_ddebug/dd_public.h" |
| #include "driver_trace/tr_public.h" |
| #include "driver_rbug/rbug_public.h" |
| #include "driver_noop/noop_public.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* |
| * TODO: Audit the following *screen_create() - all of |
| * them should return the original screen on failuire. |
| */ |
| static inline struct pipe_screen * |
| debug_screen_wrap(struct pipe_screen *screen) |
| { |
| screen = ddebug_screen_create(screen); |
| screen = rbug_screen_create(screen); |
| screen = trace_screen_create(screen); |
| screen = noop_screen_create(screen); |
| |
| if (debug_get_bool_option("GALLIUM_TESTS", FALSE)) |
| util_run_tests(screen); |
| |
| return screen; |
| } |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // INLINE_DEBUG_HELPER_H |