mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
mesa: Implement GL_DEBUG_OUTPUT
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
a7f5eb8ebb
commit
b5c4795f38
5 changed files with 20 additions and 1 deletions
|
|
@ -468,8 +468,10 @@ brwCreateContext(int api,
|
|||
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;
|
||||
|
|
|
|||
|
|
@ -364,6 +364,11 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
|
|||
FLUSH_VERTICES(ctx, _NEW_DEPTH);
|
||||
ctx->Depth.Test = state;
|
||||
break;
|
||||
case GL_DEBUG_OUTPUT:
|
||||
if (!_mesa_is_desktop_gl(ctx))
|
||||
goto invalid_enum_error;
|
||||
ctx->Debug.DebugOutput = state;
|
||||
break;
|
||||
case GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB:
|
||||
if (!_mesa_is_desktop_gl(ctx))
|
||||
goto invalid_enum_error;
|
||||
|
|
@ -1201,6 +1206,10 @@ _mesa_IsEnabled( GLenum cap )
|
|||
return ctx->Light.ColorMaterialEnabled;
|
||||
case GL_CULL_FACE:
|
||||
return ctx->Polygon.CullFlag;
|
||||
case GL_DEBUG_OUTPUT:
|
||||
if (!_mesa_is_desktop_gl(ctx))
|
||||
goto invalid_enum_error;
|
||||
return ctx->Debug.DebugOutput;
|
||||
case GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB:
|
||||
if (!_mesa_is_desktop_gl(ctx))
|
||||
goto invalid_enum_error;
|
||||
|
|
|
|||
|
|
@ -194,6 +194,9 @@ should_log(struct gl_context *ctx,
|
|||
&ctx->Debug.Namespaces[gstack][source][type];
|
||||
uintptr_t state;
|
||||
|
||||
if (!ctx->Debug.DebugOutput)
|
||||
return GL_FALSE;
|
||||
|
||||
/* In addition to not being able to store zero as a value, HashTable also
|
||||
can't use zero as a key. */
|
||||
if (id)
|
||||
|
|
|
|||
|
|
@ -3392,6 +3392,7 @@ struct gl_debug_state
|
|||
GLDEBUGPROC Callback;
|
||||
const void *CallbackData;
|
||||
GLboolean SyncOutput;
|
||||
GLboolean DebugOutput;
|
||||
GLboolean Defaults[MAX_DEBUG_GROUP_STACK_DEPTH][MESA_DEBUG_SEVERITY_COUNT][MESA_DEBUG_SOURCE_COUNT][MESA_DEBUG_TYPE_COUNT];
|
||||
struct gl_debug_namespace Namespaces[MAX_DEBUG_GROUP_STACK_DEPTH][MESA_DEBUG_SOURCE_COUNT][MESA_DEBUG_TYPE_COUNT];
|
||||
struct gl_debug_msg Log[MAX_DEBUG_LOGGED_MESSAGES];
|
||||
|
|
|
|||
|
|
@ -626,8 +626,12 @@ st_api_create_context(struct st_api *stapi, struct st_manager *smapi,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (attribs->flags & ST_CONTEXT_FLAG_DEBUG)
|
||||
st->ctx->Debug.DebugOutput = GL_FALSE;
|
||||
if (attribs->flags & ST_CONTEXT_FLAG_DEBUG){
|
||||
st->ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_DEBUG_BIT;
|
||||
st->ctx->Debug.DebugOutput = GL_TRUE;
|
||||
}
|
||||
|
||||
if (attribs->flags & ST_CONTEXT_FLAG_FORWARD_COMPATIBLE)
|
||||
st->ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue