summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/enable.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main/enable.c')
-rw-r--r--src/mesa/main/enable.c33
1 files changed, 27 insertions, 6 deletions
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index 40508a45643..edd4751e1ad 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -32,6 +32,7 @@
#include "clip.h"
#include "context.h"
#include "enable.h"
+#include "errors.h"
#include "light.h"
#include "simple_list.h"
#include "mtypes.h"
@@ -367,14 +368,26 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
ctx->Depth.Test = state;
break;
case GL_DEBUG_OUTPUT:
- if (!_mesa_is_desktop_gl(ctx))
+ if (!_mesa_is_desktop_gl(ctx)) {
goto invalid_enum_error;
- ctx->Debug.DebugOutput = state;
+ }
+ else {
+ struct gl_debug_state *debug = _mesa_get_debug_state(ctx);
+ if (debug) {
+ debug->DebugOutput = state;
+ }
+ }
break;
case GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB:
- if (!_mesa_is_desktop_gl(ctx))
+ if (!_mesa_is_desktop_gl(ctx)) {
goto invalid_enum_error;
- ctx->Debug.SyncOutput = state;
+ }
+ else {
+ struct gl_debug_state *debug = _mesa_get_debug_state(ctx);
+ if (debug) {
+ debug->SyncOutput = state;
+ }
+ }
break;
case GL_DITHER:
if (ctx->Color.DitherFlag == state)
@@ -1228,11 +1241,19 @@ _mesa_IsEnabled( GLenum cap )
case GL_DEBUG_OUTPUT:
if (!_mesa_is_desktop_gl(ctx))
goto invalid_enum_error;
- return ctx->Debug.DebugOutput;
+ if (ctx->Debug) {
+ return ctx->Debug->DebugOutput;
+ } else {
+ return GL_FALSE;
+ }
case GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB:
if (!_mesa_is_desktop_gl(ctx))
goto invalid_enum_error;
- return ctx->Debug.SyncOutput;
+ if (ctx->Debug) {
+ return ctx->Debug->SyncOutput;
+ } else {
+ return GL_FALSE;
+ }
case GL_DEPTH_TEST:
return ctx->Depth.Test;
case GL_DITHER: