dri: Move i965-specific context flag logic to dri common.
authorEric Anholt <eric@anholt.net>
Fri, 27 Sep 2013 00:17:06 +0000 (17:17 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sun, 13 Oct 2013 07:10:43 +0000 (00:10 -0700)
Nobody else yet can do a forward context anyway, but others should be able
to do debug contexts, and those would have just had no effect currently.

src/mesa/drivers/dri/common/dri_util.c
src/mesa/drivers/dri/i965/brw_context.c

index 32f0e33009f594dfd6ccdffd037fd4dd8527f380..db44eede651168185ee04a53f4557631aa508c37 100644 (file)
@@ -47,6 +47,7 @@
 #include "utils.h"
 #include "xmlpool.h"
 #include "../glsl/glsl_parser_extras.h"
+#include "main/mtypes.h"
 #include "main/version.h"
 #include "main/macros.h"
 
@@ -378,6 +379,14 @@ dri2CreateContextAttribs(__DRIscreen *screen, int api,
         return NULL;
     }
 
+    struct gl_context *ctx = context->driverPrivate;
+    if ((flags & __DRI_CTX_FLAG_FORWARD_COMPATIBLE) != 0)
+        ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT;
+    if ((flags & __DRI_CTX_FLAG_DEBUG) != 0) {
+        ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_DEBUG_BIT;
+        ctx->Debug.DebugOutput = GL_TRUE;
+    }
+
     *error = __DRI_CTX_ERROR_SUCCESS;
     return context;
 }
index c648d30cfaa80d7ce5511b7d8a36367c9616e185..5d5f41a32fe5e9d0fb16cf19ec4930a1b7ded0bb 100644 (file)
@@ -482,15 +482,7 @@ brwCreateContext(gl_api api,
    brw->disable_derivative_optimization =
       driQueryOptionb(&brw->optionCache, "disable_derivative_optimization");
 
-   ctx->Const.ContextFlags = 0;
-   if ((flags & __DRI_CTX_FLAG_FORWARD_COMPATIBLE) != 0)
-      ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT;
-
-   ctx->Debug.DebugOutput = GL_FALSE;
    if ((flags & __DRI_CTX_FLAG_DEBUG) != 0) {
-      ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_DEBUG_BIT;
-      ctx->Debug.DebugOutput = GL_TRUE;
-
       /* Turn on some extra GL_ARB_debug_output generation. */
       brw->perf_debug = true;
    }