/** * Print PIPE_USAGE_x enum values with a message. */ void debug_print_usage_enum(const char *msg, unsigned usage) { static const struct debug_named_value names[] = { DEBUG_NAMED_VALUE(PIPE_USAGE_DEFAULT), DEBUG_NAMED_VALUE(PIPE_USAGE_IMMUTABLE), DEBUG_NAMED_VALUE(PIPE_USAGE_DYNAMIC), DEBUG_NAMED_VALUE(PIPE_USAGE_STREAM), DEBUG_NAMED_VALUE(PIPE_USAGE_STAGING), DEBUG_NAMED_VALUE_END }; debug_printf("%s: %s\n", msg, debug_dump_enum(names, usage)); }
/** Return string name of given primitive type */ const char * u_prim_name(unsigned prim) { static const struct debug_named_value names[] = { DEBUG_NAMED_VALUE(PIPE_PRIM_POINTS), DEBUG_NAMED_VALUE(PIPE_PRIM_LINES), DEBUG_NAMED_VALUE(PIPE_PRIM_LINE_LOOP), DEBUG_NAMED_VALUE(PIPE_PRIM_LINE_STRIP), DEBUG_NAMED_VALUE(PIPE_PRIM_TRIANGLES), DEBUG_NAMED_VALUE(PIPE_PRIM_TRIANGLE_STRIP), DEBUG_NAMED_VALUE(PIPE_PRIM_TRIANGLE_FAN), DEBUG_NAMED_VALUE(PIPE_PRIM_QUADS), DEBUG_NAMED_VALUE(PIPE_PRIM_QUAD_STRIP), DEBUG_NAMED_VALUE(PIPE_PRIM_POLYGON), DEBUG_NAMED_VALUE(PIPE_PRIM_LINES_ADJACENCY), DEBUG_NAMED_VALUE(PIPE_PRIM_LINE_STRIP_ADJACENCY), DEBUG_NAMED_VALUE(PIPE_PRIM_TRIANGLES_ADJACENCY), DEBUG_NAMED_VALUE(PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY), DEBUG_NAMED_VALUE_END }; return debug_dump_enum(names, prim); }
const char *u_prim_name( unsigned prim ) { return debug_dump_enum(pipe_prim_names, prim); }
const char *pf_name( enum pipe_format format ) { return debug_dump_enum(pipe_format_names, format); }
void debug_print_format(const char *msg, unsigned fmt ) { debug_printf("%s: %s\n", msg, debug_dump_enum(pipe_format_names, fmt)); }