On 11/07/2012 10:23 AM, Eric Anholt wrote:
Brian Paul<[email protected]>  writes:

On 11/04/2012 01:11 PM, Eric Anholt wrote:
Brian Paul<[email protected]>   writes:

On 11/02/2012 10:52 AM, Paul Berry wrote:
On 2 November 2012 09:32, Brian Paul<[email protected]
<mailto:[email protected]>>   wrote:


      I think I've brought this up in the past.  On Windows, the minimum
      width of a window is 116 pixels (at least in my current Win7
      setup). A lot of piglit tests create 100x100 pixels and when
      piglit creates the window, Win7 resizes it to 116x100.  The
      framework code detects this change and reports:

      Got spurious window resize in automatic run (100,100 to 116,100)
      PIGLIT: {'result': 'warn'}

      So a bunch of tests get the 'warn' result instead of being run
      properly.  I think this changed at some point during the recent
      framework/waffle overhaul.

      My proposal for this is to set a default window size of 150x150 in
      the piglit-framework-gl.h header:

      --- a/tests/util/piglit-framework-__gl.h
      +++ b/tests/util/piglit-framework-__gl.h
      @@ -216,6 +216,13 @@ piglit_gl_test_run(int argc, char *argv[],

                \
                        config.init = piglit_init;          \
                        config.display = piglit_display;          \
      +         \
      +                /* Default window size.  Note: Win7's min window
      width */    \
      +               /* seems to be 116 pixels.  When the window size
      is */       \
      +                /* unexpectedly resized, tests are marked as
      "WARN". */      \
      +                /* Let's use a larger default to avoid that. */
             \
      +                config.window_width = 150;         \
      +                config.window_height = 150;

        #define PIGLIT_GL_TEST_CONFIG_END          \


      And then remove these config lines from a bunch of tests:

              config.window_width = 100;
              config.window_height = 100;

      Of course, I'll have to inspect these tests to make sure they
      don't rely on that specific window size, but I bet few if any of
      them do.

      This change fixes things here.

      Sound OK?

      -Brian


Sounds reasonable to me.  I like the idea of having a default window
size, since a lot of piglit tests just paint the whole window with the
same color, so for those tests the size is pretty much irrelevant :)

And there's quite a few tests that don't draw anything at all.

I'll post my first batch of patches soon.  There'll be more as I get time.

I don't like how this turned out, really.  On our side, we'd like to see
tests that don't care about size rendered to smaller buffers, since we
run tests under simulation for HW bringup.  I don't like losing the
information that the test author had about requested size, even though
in many cases the author just copy and pasted.

There are two things I'd like to see done with regards to test size:

Hmm, I really don't have time to investigate and implement a more
elaborate solution right now.  And I think Chad should definitely be
involved in any such changes.  Chad, do you have time to look into
this in the near future?

I'd really like to move forward with my changes as-is so we can get
things working on Windows.  I'd be happy to help with the follow-on
changes if we decide to do something fancier.

I would prefer to just disable the gnome-shell workaround on windows for
the moment instead.

- Have a "I don't draw anything" flag (or maybe just ask for 1x1) in
    tests that don't need the window system buffer.

- Convert the remaining tests that aren't specific to window system
    buffer interactions to run with an FBO as the framebuffer.  This
    avoids window systems (including gnome-shell) screwing with our window
    size, and should improve performance slightly if we take advantage of
    surfaceless contexts.  Now that swapbuffers has been replaced, I think
    this should be easy.

One problem I have with this is losing the ability to see what's
drawn.  That can be super helpful for debugging a failure.

Huh?  I was talking about converting more things to -auto -fbo for
all.tests like we've been slowly doing.

I thought you meant running the tests w/ FBOs instead of windows all the time.

My wish-list item would be the option to run a test in -fbo mode and have the FBO image displayed in the window for debugging when some special flag is set.



But still, it's important to test window rendering too because of the
upside down orientation difference with windows vs. FBOs.  In the past
we've certainly had bugs in that area, and probably will in the future
too.  If the 'general' tests were run both in window and FBO mode
that'd probably catch most of the orientation bugs.

I agree, though mostly it's been the other way around because we only
test things in windows not fbos.  The solution to that problem is to
explicitly test interactions of various kinds of drawing to all
available window systems (GLX, EGL, fbos), while leaving most testing up
to a default window system choice.

That's what I had in mind too.

-Brian
_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to