diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c index 9463bc118..b7fe98b81 100644 --- a/hw/vfb/InitOutput.c +++ b/hw/vfb/InitOutput.c @@ -141,6 +141,7 @@ typedef enum { NORMAL_MEMORY_FB, SHARED_MEMORY_FB, MMAPPED_FILE_FB } fbMemType; static fbMemType fbmemtype = NORMAL_MEMORY_FB; static char needswap = 0; static Bool Render = TRUE; +static int verbose = 0; #define swapcopy16(_dst, _src) \ if (needswap) { CARD16 _s = _src; cpswaps(_s, _dst); } \ @@ -295,6 +296,7 @@ ddxInputThreadInit(void) void ddxUseMsg(void) { + ErrorF("-verbose [n] verbose startup messages\n"); ErrorF("-screen scrn WxHxD set screen's width, height, depth\n"); ErrorF("-pixdepths list-of-int support given pixmap depths\n"); ErrorF("+/-render turn on/off RENDER extension support" @@ -316,6 +318,16 @@ ddxUseMsg(void) VFB_DEFAULT_NUM_CRTCS); } +static int +vfbSetVerbosity(int verb) +{ + int save = verbose; + + verbose = verb; + LogSetParameter(XLOG_VERBOSITY, verb); + return save; +} + int ddxProcessArgument(int argc, char *argv[], int i) { @@ -328,6 +340,21 @@ ddxProcessArgument(int argc, char *argv[], int i) firstTime = FALSE; } + if (!strcmp(argv[i], "-verbose")) { + if (++i < argc && argv[i]) { + char *end; + long val; + + val = strtol(argv[i], &end, 0); + if (*end == '\0') { + vfbSetVerbosity(val); + return 2; + } + } + vfbSetVerbosity(++verbose); + return 1; + } + if (lastScreen == -1) currentScreen = vfbInitializeScreenInfo(&defaultScreenInfo); else