mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 17:10:11 +01:00
mesa: trivial clean-ups in errors.c
Whitespace changes, 78-column rewrapping, comment clean-ups, add some braces, etc. Reviewed-by: Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
1dc209d8f2
commit
31b2625cb5
1 changed files with 84 additions and 41 deletions
|
|
@ -81,6 +81,7 @@ static const GLenum debug_severity_enums[] = {
|
|||
GL_DEBUG_SEVERITY_NOTIFICATION,
|
||||
};
|
||||
|
||||
|
||||
static enum mesa_debug_source
|
||||
gl_enum_to_debug_source(GLenum e)
|
||||
{
|
||||
|
|
@ -141,6 +142,7 @@ debug_get_id(GLuint *id)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* We store a bitfield in the hash table, with five possible values total.
|
||||
*
|
||||
|
|
@ -182,6 +184,7 @@ enum {
|
|||
ENABLED = ENABLED_BIT | FOUND_BIT
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Returns the state of the given message source/type/ID tuple.
|
||||
*/
|
||||
|
|
@ -194,21 +197,23 @@ should_log(struct gl_context *ctx,
|
|||
{
|
||||
GLint gstack = ctx->Debug.GroupStackDepth;
|
||||
struct gl_debug_namespace *nspace =
|
||||
&ctx->Debug.Namespaces[gstack][source][type];
|
||||
&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. */
|
||||
* can't use zero as a key.
|
||||
*/
|
||||
if (id)
|
||||
state = (uintptr_t)_mesa_HashLookup(nspace->IDs, id);
|
||||
else
|
||||
state = nspace->ZeroID;
|
||||
|
||||
/* Only do this once for each ID. This makes sure the ID exists in,
|
||||
at most, one list, and does not pointlessly appear multiple times. */
|
||||
* at most, one list, and does not pointlessly appear multiple times.
|
||||
*/
|
||||
if (!(state & KNOWN_SEVERITY)) {
|
||||
struct gl_debug_severity *entry;
|
||||
|
||||
|
|
@ -238,6 +243,7 @@ out:
|
|||
return !!(state & ENABLED_BIT);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the state of the given message source/type/ID tuple.
|
||||
*/
|
||||
|
|
@ -249,11 +255,12 @@ set_message_state(struct gl_context *ctx,
|
|||
{
|
||||
GLint gstack = ctx->Debug.GroupStackDepth;
|
||||
struct gl_debug_namespace *nspace =
|
||||
&ctx->Debug.Namespaces[gstack][source][type];
|
||||
&ctx->Debug.Namespaces[gstack][source][type];
|
||||
uintptr_t state;
|
||||
|
||||
/* In addition to not being able to store zero as a value, HashTable also
|
||||
can't use zero as a key. */
|
||||
* can't use zero as a key.
|
||||
*/
|
||||
if (id)
|
||||
state = (uintptr_t)_mesa_HashLookup(nspace->IDs, id);
|
||||
else
|
||||
|
|
@ -274,6 +281,7 @@ set_message_state(struct gl_context *ctx,
|
|||
nspace->ZeroID = state;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
store_message_details(struct gl_debug_msg *emptySlot,
|
||||
enum mesa_debug_source source,
|
||||
|
|
@ -307,7 +315,8 @@ store_message_details(struct gl_debug_msg *emptySlot,
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* Remap any type exclusive to KHR_debug to something suitable
|
||||
* for ARB_debug_output
|
||||
*/
|
||||
|
|
@ -326,6 +335,7 @@ remap_type(GLenum type) {
|
|||
return type;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Remap severity exclusive to KHR_debug to something suitable
|
||||
* for ARB_debug_output
|
||||
|
|
@ -339,6 +349,7 @@ remap_severity(GLenum severity) {
|
|||
return severity;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 'buf' is not necessarily a null-terminated string. When logging, copy
|
||||
* 'len' characters from it, store them in a new, null-terminated string,
|
||||
|
|
@ -366,10 +377,7 @@ log_msg(struct gl_context *ctx, enum mesa_debug_source source,
|
|||
gl_severity = remap_severity(gl_severity);
|
||||
gl_type = remap_type(gl_type);
|
||||
}
|
||||
ctx->Debug.Callback(debug_source_enums[source],
|
||||
gl_type,
|
||||
id,
|
||||
gl_severity,
|
||||
ctx->Debug.Callback(debug_source_enums[source], gl_type, id, gl_severity,
|
||||
len, buf, ctx->Debug.CallbackData);
|
||||
return;
|
||||
}
|
||||
|
|
@ -389,6 +397,7 @@ log_msg(struct gl_context *ctx, enum mesa_debug_source source,
|
|||
ctx->Debug.NumMessages++;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Pop the oldest debug message out of the log.
|
||||
* Writes the message string, including the null terminator, into 'buf',
|
||||
|
|
@ -423,15 +432,20 @@ get_msg(struct gl_context *ctx, GLenum *source, GLenum *type,
|
|||
if (caller == MESSAGE_LOG_ARB)
|
||||
*severity = remap_severity(*severity);
|
||||
}
|
||||
if (source)
|
||||
|
||||
if (source) {
|
||||
*source = debug_source_enums[msg->source];
|
||||
}
|
||||
|
||||
if (type) {
|
||||
*type = debug_type_enums[msg->type];
|
||||
if (caller == MESSAGE_LOG_ARB)
|
||||
*type = remap_type(*type);
|
||||
}
|
||||
if (id)
|
||||
|
||||
if (id) {
|
||||
*id = msg->id;
|
||||
}
|
||||
|
||||
if (buf) {
|
||||
assert(msg->message[length-1] == '\0');
|
||||
|
|
@ -451,6 +465,7 @@ get_msg(struct gl_context *ctx, GLenum *source, GLenum *type,
|
|||
return length;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Verify that source, type, and severity are valid enums.
|
||||
* glDebugMessageInsertARB only accepts two values for 'source',
|
||||
|
|
@ -523,14 +538,14 @@ validate_params(struct gl_context *ctx, unsigned caller,
|
|||
return GL_TRUE;
|
||||
|
||||
error:
|
||||
{
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "bad values passed to %s"
|
||||
"(source=0x%x, type=0x%x, severity=0x%x)", callerstr,
|
||||
source, type, severity);
|
||||
}
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "bad values passed to %s"
|
||||
"(source=0x%x, type=0x%x, severity=0x%x)", callerstr,
|
||||
source, type, severity);
|
||||
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the state of all message IDs found in the given intersection of
|
||||
* 'source', 'type', and 'severity'. The _COUNT enum can be used for
|
||||
|
|
@ -573,8 +588,8 @@ control_messages(struct gl_context *ctx,
|
|||
sevmax = severity+1;
|
||||
}
|
||||
|
||||
for (sev = severity; sev < sevmax; sev++)
|
||||
for (s = source; s < smax; s++)
|
||||
for (sev = severity; sev < sevmax; sev++) {
|
||||
for (s = source; s < smax; s++) {
|
||||
for (t = type; t < tmax; t++) {
|
||||
struct simple_node *node;
|
||||
struct gl_debug_severity *entry;
|
||||
|
|
@ -588,8 +603,11 @@ control_messages(struct gl_context *ctx,
|
|||
set_message_state(ctx, s, t, entry->ID, enabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Debugging-message namespaces with the source APPLICATION or THIRD_PARTY
|
||||
* require special handling, since the IDs in them are controlled by clients,
|
||||
|
|
@ -621,6 +639,7 @@ control_app_messages(struct gl_context *ctx, GLenum esource, GLenum etype,
|
|||
control_messages(ctx, source, type, severity, enabled);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This is a generic message control function for use by both
|
||||
* glDebugMessageControlARB and glDebugMessageControl.
|
||||
|
|
@ -658,6 +677,7 @@ message_control(GLenum gl_source, GLenum gl_type,
|
|||
count, ids, enabled);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This is a generic message insert function.
|
||||
* Validation of source, type and severity parameters should be done
|
||||
|
|
@ -665,7 +685,7 @@ message_control(GLenum gl_source, GLenum gl_type,
|
|||
*/
|
||||
static void
|
||||
message_insert(GLenum source, GLenum type, GLuint id,
|
||||
GLenum severity, GLint length, const GLchar* buf,
|
||||
GLenum severity, GLint length, const GLchar *buf,
|
||||
const char *callerstr)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
|
|
@ -687,14 +707,15 @@ message_insert(GLenum source, GLenum type, GLuint id,
|
|||
gl_enum_to_debug_severity(severity), length, buf);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This is a generic message insert function for use by both
|
||||
* glGetDebugMessageLogARB and glGetDebugMessageLog.
|
||||
*/
|
||||
static GLuint
|
||||
get_message_log(GLuint count, GLsizei logSize, GLenum* sources,
|
||||
GLenum* types, GLenum* ids, GLenum* severities,
|
||||
GLsizei* lengths, GLchar* messageLog,
|
||||
get_message_log(GLuint count, GLsizei logSize, GLenum *sources,
|
||||
GLenum *types, GLenum *ids, GLenum *severities,
|
||||
GLsizei *lengths, GLchar *messageLog,
|
||||
unsigned caller, const char *callerstr)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
|
|
@ -738,11 +759,13 @@ get_message_log(GLuint count, GLsizei logSize, GLenum* sources,
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
do_nothing(GLuint key, void *data, void *userData)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
free_errors_data(struct gl_context *ctx, GLint gstack)
|
||||
{
|
||||
|
|
@ -751,7 +774,7 @@ free_errors_data(struct gl_context *ctx, GLint gstack)
|
|||
enum mesa_debug_severity sev;
|
||||
|
||||
/* Tear down state for filtering debug messages. */
|
||||
for (s = 0; s < MESA_DEBUG_SOURCE_COUNT; s++)
|
||||
for (s = 0; s < MESA_DEBUG_SOURCE_COUNT; s++) {
|
||||
for (t = 0; t < MESA_DEBUG_TYPE_COUNT; t++) {
|
||||
_mesa_HashDeleteAll(ctx->Debug.Namespaces[gstack][s][t].IDs,
|
||||
do_nothing, NULL);
|
||||
|
|
@ -767,12 +790,14 @@ free_errors_data(struct gl_context *ctx, GLint gstack)
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_DebugMessageInsert(GLenum source, GLenum type, GLuint id,
|
||||
GLenum severity, GLint length,
|
||||
const GLchar* buf)
|
||||
const GLchar *buf)
|
||||
{
|
||||
const char *callerstr = "glDebugMessageInsert";
|
||||
|
||||
|
|
@ -781,14 +806,14 @@ _mesa_DebugMessageInsert(GLenum source, GLenum type, GLuint id,
|
|||
if (!validate_params(ctx, INSERT, callerstr, source, type, severity))
|
||||
return; /* GL_INVALID_ENUM */
|
||||
|
||||
message_insert(source, type, id, severity, length, buf,
|
||||
callerstr);
|
||||
message_insert(source, type, id, severity, length, buf, callerstr);
|
||||
}
|
||||
|
||||
|
||||
GLuint GLAPIENTRY
|
||||
_mesa_GetDebugMessageLog(GLuint count, GLsizei logSize, GLenum* sources,
|
||||
GLenum* types, GLenum* ids, GLenum* severities,
|
||||
GLsizei* lengths, GLchar* messageLog)
|
||||
_mesa_GetDebugMessageLog(GLuint count, GLsizei logSize, GLenum *sources,
|
||||
GLenum *types, GLenum *ids, GLenum *severities,
|
||||
GLsizei *lengths, GLchar *messageLog)
|
||||
{
|
||||
const char *callerstr = "glGetDebugMessageLog";
|
||||
|
||||
|
|
@ -796,6 +821,7 @@ _mesa_GetDebugMessageLog(GLuint count, GLsizei logSize, GLenum* sources,
|
|||
lengths, messageLog, MESSAGE_LOG, callerstr);
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_DebugMessageControl(GLenum source, GLenum type, GLenum severity,
|
||||
GLsizei count, const GLuint *ids,
|
||||
|
|
@ -807,6 +833,7 @@ _mesa_DebugMessageControl(GLenum source, GLenum type, GLenum severity,
|
|||
enabled, CONTROL, callerstr);
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_DebugMessageCallback(GLDEBUGPROC callback, const void *userParam)
|
||||
{
|
||||
|
|
@ -816,6 +843,7 @@ _mesa_DebugMessageCallback(GLDEBUGPROC callback, const void *userParam)
|
|||
ctx->Debug.ARBCallback = GL_FALSE;
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_PushDebugGroup(GLenum source, GLuint id, GLsizei length,
|
||||
const GLchar *message)
|
||||
|
|
@ -864,7 +892,7 @@ _mesa_PushDebugGroup(GLenum source, GLuint id, GLsizei length,
|
|||
/* inherit the control volume of the debug group previously residing on
|
||||
* the top of the debug group stack
|
||||
*/
|
||||
for (s = 0; s < MESA_DEBUG_SOURCE_COUNT; s++)
|
||||
for (s = 0; s < MESA_DEBUG_SOURCE_COUNT; s++) {
|
||||
for (t = 0; t < MESA_DEBUG_TYPE_COUNT; t++) {
|
||||
/* copy id settings */
|
||||
ctx->Debug.Namespaces[currStackDepth][s][t].IDs =
|
||||
|
|
@ -875,7 +903,8 @@ _mesa_PushDebugGroup(GLenum source, GLuint id, GLsizei length,
|
|||
struct simple_node *node;
|
||||
|
||||
/* copy default settings for unknown ids */
|
||||
ctx->Debug.Defaults[currStackDepth][sev][s][t] = ctx->Debug.Defaults[prevStackDepth][sev][s][t];
|
||||
ctx->Debug.Defaults[currStackDepth][sev][s][t] =
|
||||
ctx->Debug.Defaults[prevStackDepth][sev][s][t];
|
||||
|
||||
/* copy known id severity settings */
|
||||
make_empty_list(&ctx->Debug.Namespaces[currStackDepth][s][t].Severity[sev]);
|
||||
|
|
@ -890,8 +919,10 @@ _mesa_PushDebugGroup(GLenum source, GLuint id, GLsizei length,
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_PopDebugGroup(void)
|
||||
{
|
||||
|
|
@ -928,10 +959,11 @@ _mesa_PopDebugGroup(void)
|
|||
free_errors_data(ctx, prevStackDepth);
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_DebugMessageInsertARB(GLenum source, GLenum type, GLuint id,
|
||||
GLenum severity, GLint length,
|
||||
const GLcharARB* buf)
|
||||
const GLcharARB *buf)
|
||||
{
|
||||
const char *callerstr = "glDebugMessageInsertARB";
|
||||
|
||||
|
|
@ -940,14 +972,14 @@ _mesa_DebugMessageInsertARB(GLenum source, GLenum type, GLuint id,
|
|||
if (!validate_params(ctx, INSERT_ARB, callerstr, source, type, severity))
|
||||
return; /* GL_INVALID_ENUM */
|
||||
|
||||
message_insert(source, type, id, severity, length, buf,
|
||||
callerstr);
|
||||
message_insert(source, type, id, severity, length, buf, callerstr);
|
||||
}
|
||||
|
||||
|
||||
GLuint GLAPIENTRY
|
||||
_mesa_GetDebugMessageLogARB(GLuint count, GLsizei logSize, GLenum* sources,
|
||||
GLenum* types, GLenum* ids, GLenum* severities,
|
||||
GLsizei* lengths, GLcharARB* messageLog)
|
||||
_mesa_GetDebugMessageLogARB(GLuint count, GLsizei logSize, GLenum *sources,
|
||||
GLenum *types, GLenum *ids, GLenum *severities,
|
||||
GLsizei *lengths, GLcharARB *messageLog)
|
||||
{
|
||||
const char *callerstr = "glGetDebugMessageLogARB";
|
||||
|
||||
|
|
@ -955,6 +987,7 @@ _mesa_GetDebugMessageLogARB(GLuint count, GLsizei logSize, GLenum* sources,
|
|||
lengths, messageLog, MESSAGE_LOG_ARB, callerstr);
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_DebugMessageControlARB(GLenum gl_source, GLenum gl_type,
|
||||
GLenum gl_severity,
|
||||
|
|
@ -967,6 +1000,7 @@ _mesa_DebugMessageControlARB(GLenum gl_source, GLenum gl_type,
|
|||
enabled, CONTROL_ARB, callerstr);
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_DebugMessageCallbackARB(GLDEBUGPROCARB callback, const void *userParam)
|
||||
{
|
||||
|
|
@ -976,6 +1010,7 @@ _mesa_DebugMessageCallbackARB(GLDEBUGPROCARB callback, const void *userParam)
|
|||
ctx->Debug.ARBCallback = GL_TRUE;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_mesa_init_errors(struct gl_context *ctx)
|
||||
{
|
||||
|
|
@ -998,16 +1033,19 @@ _mesa_init_errors(struct gl_context *ctx)
|
|||
sizeof ctx->Debug.Defaults[0][MESA_DEBUG_SEVERITY_LOW]);
|
||||
|
||||
/* Initialize state for filtering known debug messages. */
|
||||
for (s = 0; s < MESA_DEBUG_SOURCE_COUNT; s++)
|
||||
for (s = 0; s < MESA_DEBUG_SOURCE_COUNT; s++) {
|
||||
for (t = 0; t < MESA_DEBUG_TYPE_COUNT; t++) {
|
||||
ctx->Debug.Namespaces[0][s][t].IDs = _mesa_NewHashTable();
|
||||
assert(ctx->Debug.Namespaces[0][s][t].IDs);
|
||||
|
||||
for (sev = 0; sev < MESA_DEBUG_SEVERITY_COUNT; sev++)
|
||||
for (sev = 0; sev < MESA_DEBUG_SEVERITY_COUNT; sev++) {
|
||||
make_empty_list(&ctx->Debug.Namespaces[0][s][t].Severity[sev]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Loop through debug group stack tearing down states for
|
||||
* filtering debug messages.
|
||||
|
|
@ -1022,6 +1060,7 @@ _mesa_free_errors_data(struct gl_context *ctx)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/** \name Diagnostics */
|
||||
/*@{*/
|
||||
|
|
@ -1077,6 +1116,7 @@ output_if_debug(const char *prefixString, const char *outputString,
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* When a new type of error is recorded, print a message describing
|
||||
* previous errors which were accumulated.
|
||||
|
|
@ -1149,6 +1189,7 @@ _mesa_problem( const struct gl_context *ctx, const char *fmtString, ... )
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
static GLboolean
|
||||
should_output(struct gl_context *ctx, GLenum error, const char *fmtString)
|
||||
{
|
||||
|
|
@ -1185,6 +1226,7 @@ should_output(struct gl_context *ctx, GLenum error, const char *fmtString)
|
|||
return GL_FALSE;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_mesa_gl_debug(struct gl_context *ctx,
|
||||
GLuint *id,
|
||||
|
|
@ -1247,7 +1289,8 @@ _mesa_error( struct gl_context *ctx, GLenum error, const char *fmtString, ... )
|
|||
|
||||
if (len >= MAX_DEBUG_MESSAGE_LENGTH) {
|
||||
/* Too long error message. Whoever calls _mesa_error should use
|
||||
* shorter strings. */
|
||||
* shorter strings.
|
||||
*/
|
||||
ASSERT(0);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue