Good catch!

Reviewed-by: Eduardo Lima Mitev <[email protected]>

On 03/24/2016 06:24 AM, Kenneth Graunke wrote:
 From the KHR_debug spec:
"Applications can query the number of messages currently in the log by
  obtaining the value of DEBUG_LOGGED_MESSAGES, and the string length
  (including its null terminator) of the oldest message in the log
  through the value of DEBUG_NEXT_LOGGED_MESSAGE_LENGTH."

Because we weren't including the null terminator, many dEQP tests
called glGetDebugMessageLog with a bufSize parameter that was 1 too
small, and unable to contain the message, so we skipped returning it,
failing many cases.

Fixes 298 dEQP-GLES31.functional.debug.* tests.

Signed-off-by: Kenneth Graunke <[email protected]>
---
  src/mesa/main/debug_output.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/main/debug_output.c b/src/mesa/main/debug_output.c
index c2b9f05..74be855 100644
--- a/src/mesa/main/debug_output.c
+++ b/src/mesa/main/debug_output.c
@@ -779,7 +779,7 @@ _mesa_get_debug_state_int(struct gl_context *ctx, GLenum 
pname)
        break;
     case GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH:
        val = (debug->Log.NumMessages) ?
-         debug->Log.Messages[debug->Log.NextMessage].length : 0;
+         debug->Log.Messages[debug->Log.NextMessage].length + 1 : 0;
        break;
     case GL_DEBUG_GROUP_STACK_DEPTH:
        val = debug->CurrentGroup + 1;


_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to