[Mesa-dev] [PATCH] mesa: Include null terminator in GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH.

Eduardo Lima Mitev elima at igalia.com
Thu Mar 24 05:43:08 UTC 2016


Good catch!

Reviewed-by: Eduardo Lima Mitev <elima at igalia.com>

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 <kenneth at whitecape.org>
> ---
>   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;
>



More information about the mesa-dev mailing list