summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mesa/main/errors.c2
-rw-r--r--src/mesa/main/mtypes.h28
2 files changed, 28 insertions, 2 deletions
diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c
index e43b31fcbf8..ed94841d04a 100644
--- a/src/mesa/main/errors.c
+++ b/src/mesa/main/errors.c
@@ -88,7 +88,7 @@ _mesa_log_msg(struct gl_context *ctx, GLenum source, GLenum type,
emptySlot->length = strlen(out_of_memory)+1;
emptySlot->source = GL_DEBUG_SOURCE_OTHER_ARB;
emptySlot->type = GL_DEBUG_TYPE_ERROR_ARB;
- emptySlot->id = 1; /* TODO: proper id namespace */
+ emptySlot->id = OTHER_ERROR_OUT_OF_MEMORY;
emptySlot->severity = GL_DEBUG_SEVERITY_HIGH_ARB;
}
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 03ec30356e9..53544429e37 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -3200,12 +3200,38 @@ struct gl_debug_msg
GLcharARB *message;
};
-/* GL_ARB_debug_output */
+typedef enum {
+ API_ERROR_UNKNOWN,
+ API_ERROR_COUNT
+} gl_api_error;
+
+typedef enum {
+ WINSYS_ERROR_UNKNOWN,
+ WINSYS_ERROR_COUNT
+} gl_winsys_error;
+
+typedef enum {
+ SHADER_ERROR_UNKNOWN,
+ SHADER_ERROR_COUNT
+} gl_shader_error;
+
+typedef enum {
+ OTHER_ERROR_UNKNOWN,
+ OTHER_ERROR_OUT_OF_MEMORY,
+ OTHER_ERROR_COUNT
+} gl_other_error;
+
struct gl_debug_state
{
GLDEBUGPROCARB Callback;
GLvoid *CallbackData;
GLboolean SyncOutput;
+ GLboolean ApiErrors[API_ERROR_COUNT];
+ GLboolean WinsysErrors[WINSYS_ERROR_COUNT];
+ GLboolean ShaderErrors[SHADER_ERROR_COUNT];
+ GLboolean OtherErrors[OTHER_ERROR_COUNT];
+ /* TODO: Add an object here that tracks the state of client-provided IDs
+ in the APPLICATION and THIRD_PARTY namespaces. */
struct gl_debug_msg Log[MAX_DEBUG_LOGGED_MESSAGES];
GLint NumMessages;
GLint NextMsg;