On Mon, 2015-04-13 at 20:28 +0200, Marek Olšák wrote:
> From: Daniel Kurtz <djku...@chromium.org>
> 
> AFAICT from [0], only PopDebugGroup() adds a message to the log, not
> PushDebugGroup().
> 
> [0] https://www.opengl.org/registry/specs/KHR/debug.txt
> 
> Thus, there should only be three messages in test_push_pop_debug_group:
>   (1) DebugMessageInsert() -> TestMessage1
>   (2) PopDebugGroup()      -> TestMessage2
>   (3) DebugMessageInsert() -> TestMessage4

Although Daniel is correct that the text describing PushDebugGroup does
not explicitly say that PushDebugGroup adds a message to the log. I
recall basing the piglit test on the example given in the spec which
shows the PushDebugGroup does add a message to the log.

So this change is incorrect.

Example from the spec below:

    Scenario 1: skip a section of the code
    // Setup of the default active debug group: Filter everything in
    glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0,
NULL, GL_TRUE);

    // Generate a debug marker debug output message
    glDebugMessageInsert(
        GL_DEBUG_SOURCE_APPLICATION, 
        GL_DEBUG_TYPE_MARKER, 100,
        GL_DEBUG_SEVERITY_NOTIFICATION, 
        -1, "Message 1");
    
    // Push debug group 1
    glPushDebugGroup(
        GL_DEBUG_SOURCE_APPLICATION, 
        1, 
        -1, "Message 2");
 
    // Setup of the debug group 1: Filter everything out
    glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0,
NULL, GL_FALSE);

    // This message won't appear in the debug output log of 
    glDebugMessageInsert(
        GL_DEBUG_SOURCE_APPLICATION, 
        GL_DEBUG_TYPE_MARKER, 100,
        GL_DEBUG_SEVERITY_NOTIFICATION, 
        -1, "Message 3"); 
 
    // Pop debug group 1, restore the volume control of the default
debug group.
    glPopDebugGroup();
 
    // Generate a debug marker debug output message
    glDebugMessageInsert(
        GL_DEBUG_SOURCE_APPLICATION,
        GL_DEBUG_TYPE_MARKER, 100,
        GL_DEBUG_SEVERITY_NOTIFICATION, 
        -1, "Message 5");

    // Expected debug output from the GL implementation
    // Message 1 
    // Message 2
    // Message 2
    // Message 5




> 
> Signed-off-by: Daniel Kurtz <djku...@chromium.org>
> ---
>  tests/spec/khr_debug/debug-push-pop-group.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/tests/spec/khr_debug/debug-push-pop-group.c 
> b/tests/spec/khr_debug/debug-push-pop-group.c
> index 8fa4474..105bdc4 100644
> --- a/tests/spec/khr_debug/debug-push-pop-group.c
> +++ b/tests/spec/khr_debug/debug-push-pop-group.c
> @@ -268,8 +268,8 @@ static bool test_push_pop_debug_group()
>                                    lengths,
>                                    messageLog);
>  
> -     if (count != 4) {
> -             fprintf(stderr, "The message log should contain 4 messages not 
> %i messages\n", count);
> +     if (count != 3) {
> +             fprintf(stderr, "The message log should contain 3 messages not 
> %i messages\n", count);
>               nextMessage = 0;
>               for (i = 0; i < count; i++) {
>                       fprintf(stderr, "%s\n", messageLog+nextMessage);
> @@ -279,14 +279,14 @@ static bool test_push_pop_debug_group()
>       }
>  
>       if (pass) {
> -             /* the third message should contain TestMessage2 from 
> PopDebugGroup() */
> -             nextMessage = lengths[0] + lengths[1];
> +             /* the second message should contain TestMessage2 from 
> PopDebugGroup() */
> +             nextMessage = lengths[0];
>               if (strstr(messageLog+nextMessage, TestMessage2) == NULL) {
>                       fprintf(stderr, "Expected: %s Message: %s\n", 
> TestMessage2, messageLog+nextMessage);
>                       pass = false;
>               }
>  
> -             /* double check that TestMessage3 didnt sneak into the log */
> +             /* double check that TestMessage3 didn't sneak into the log */
>               nextMessage = 0;
>               for (i = 0; i < count; i++) {
>                       if (strstr(messageLog+nextMessage, TestMessage3) != 
> NULL) {
> @@ -297,8 +297,8 @@ static bool test_push_pop_debug_group()
>                       nextMessage += lengths[i];
>               }
>  
> -             /* the forth message should contain TestMessage4 */
> -             nextMessage = lengths[0] + lengths[1] + lengths[2];
> +             /* the third message should contain TestMessage4 */
> +             nextMessage = lengths[0] + lengths[1];
>               if (strstr(messageLog+nextMessage, TestMessage4) == NULL) {
>                       fprintf(stderr, "Expected: %s Message: %s\n", 
> TestMessage4, messageLog+nextMessage);
>                       pass = false;


_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to