Looks good to me. Reviewed-by: Jose Fonseca <jfons...@vmware.com>
Jose ----- Original Message ----- > --- > docs/envvars.html | 2 ++ > src/mesa/main/errors.c | 14 ++++++++++++-- > 2 files changed, 14 insertions(+), 2 deletions(-) > > diff --git a/docs/envvars.html b/docs/envvars.html > index fffb50a..102ea28 100644 > --- a/docs/envvars.html > +++ b/docs/envvars.html > @@ -42,6 +42,8 @@ sometimes be useful for debugging end-user issues. > printed to stderr.<br> > If the value of MESA_DEBUG is 'FP' floating point arithmetic > errors will > generate exceptions. > +<li>MESA_LOG_FILE - specifies a file name for logging all errors, > warnings, > +etc., rather than stderr > <li>MESA_TEX_PROG - if set, implement conventional texture env modes > with > fragment programs (intended for developers only) > <li>MESA_TNL_PROG - if set, implement conventional vertex > transformation > diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c > index 69dbb65..ef78a0b 100644 > --- a/src/mesa/main/errors.c > +++ b/src/mesa/main/errors.c > @@ -801,12 +801,21 @@ output_if_debug(const char *prefixString, const > char *outputString, > GLboolean newline) > { > static int debug = -1; > + static FILE *fout = NULL; > > /* Init the local 'debug' var once. > * Note: the _mesa_init_debug() function should have been called > * by now so MESA_DEBUG_FLAGS will be initialized. > */ > if (debug == -1) { > + /* If MESA_LOG_FILE env var is set, log Mesa errors, warnings, > + * etc to the named file. Otherwise, output to stderr. > + */ > + const char *logFile = _mesa_getenv("MESA_LOG_FILE"); > + if (logFile) > + fout = fopen(logFile, "w"); > + if (!fout) > + fout = stderr; > #ifdef DEBUG > /* in debug builds, print messages unless MESA_DEBUG="silent" > */ > if (MESA_DEBUG_FLAGS & DEBUG_SILENT) > @@ -821,9 +830,10 @@ output_if_debug(const char *prefixString, const > char *outputString, > > /* Now only print the string if we're required to do so. */ > if (debug) { > - fprintf(stderr, "%s: %s", prefixString, outputString); > + fprintf(fout, "%s: %s", prefixString, outputString); > if (newline) > - fprintf(stderr, "\n"); > + fprintf(fout, "\n"); > + fflush(fout); > > #if defined(_WIN32) && !defined(_WIN32_WCE) > /* stderr from windows applications without console is not > usually > -- > 1.7.3.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev