On 19/04/17 11:39, Michel Dänzer wrote:
On 18/04/17 07:35 PM, Nicolai Hähnle wrote:
On 18.04.2017 02:09, Timothy Arceri wrote:
V2: typo know -> known
---
 docs/envvars.html       | 3 +++
 src/mesa/main/context.c | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/docs/envvars.html b/docs/envvars.html
index 6537365..a064f56 100644
--- a/docs/envvars.html
+++ b/docs/envvars.html
@@ -39,20 +39,23 @@ sometimes be useful for debugging end-user issues.



 <h2>Core Mesa environment variables</h2>

 <ul>
 <li>MESA_NO_ASM - if set, disables all assembly language optimizations
 <li>MESA_NO_MMX - if set, disables Intel MMX optimizations
 <li>MESA_NO_3DNOW - if set, disables AMD 3DNow! optimizations
 <li>MESA_NO_SSE - if set, disables Intel SSE optimizations
+<li>MESA_NO_ERROR - if set error checking is disabled as per
KHR_no_error.
+   This will result in undefined behaviour for invalid use of the
api, but
+   can reduce CPU use for apps that are known to be error free.</li>
 <li>MESA_DEBUG - if set, error messages are printed to stderr.  For
example,
    if the application generates a GL_INVALID_ENUM error, a
corresponding error
    message indicating where the error occurred, and possibly why,
will be
    printed to stderr.<br>

    For release builds, MESA_DEBUG defaults to off (no debug output).

    MESA_DEBUG accepts the following comma-separated list of named
    flags, which adds extra behaviour to just set MESA_DEBUG=1:
    <ul>
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 8876ca2..33bdbd7 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1201,20 +1201,23 @@ _mesa_initialize_context(struct gl_context *ctx,
       shared = _mesa_alloc_shared_state(ctx);
       if (!shared)
          return GL_FALSE;
    }

    _mesa_reference_shared_state(ctx, &ctx->Shared, shared);

    if (!init_attrib_groups( ctx ))
       goto fail;

+   if (getenv("MESA_NO_ERROR"))
+      ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR;
+

This seems like the kind of setting that should be ignored for setuid
processes. Not that we're particularly clean about this in general, and
GL apps really shouldn't be setuid in the first place, but still...

Also, there should be a way to force error checking, even if the
application asks to disable it, so that we can still detect incorrect
application behaviour. Either using e.g. MESA_NO_ERROR=0 or a different
environment variable.



Sure, I agree. But this series doesn't enable it if the application asked so I've left that until we add the glx/egl flags (the glx spec has not been released yet).
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to