1 2#ifndef INLINE_DEBUG_HELPER_H 3#define INLINE_DEBUG_HELPER_H 4 5#include "pipe/p_compiler.h" 6#include "util/u_debug.h" 7#include "util/u_tests.h" 8 9 10/* Helper function to wrap a screen with 11 * one or more debug drivers. 12 */ 13 14#include "driver_ddebug/dd_public.h" 15#include "driver_trace/tr_public.h" 16#include "driver_rbug/rbug_public.h" 17#include "driver_noop/noop_public.h" 18 19#ifdef __cplusplus 20extern "C" { 21#endif 22 23/* 24 * TODO: Audit the following *screen_create() - all of 25 * them should return the original screen on failuire. 26 */ 27static inline struct pipe_screen * 28debug_screen_wrap(struct pipe_screen *screen) 29{ 30 screen = ddebug_screen_create(screen); 31 screen = rbug_screen_create(screen); 32 screen = trace_screen_create(screen); 33 screen = noop_screen_create(screen); 34 35 if (debug_get_bool_option("GALLIUM_TESTS", FALSE)) 36 util_run_tests(screen); 37 38 return screen; 39} 40 41#ifdef __cplusplus 42} 43#endif 44 45#endif // INLINE_DEBUG_HELPER_H 46