[Piglit] [PATCH] framework: Support PIGLIT_DEFAULT_SIZE env variable

Anuj Phogat anuj.phogat at gmail.com
Thu Apr 23 09:43:17 PDT 2015


On Sun, Apr 19, 2015 at 9:23 PM, Jordan Justen
<jordan.l.justen at intel.com> wrote:
>
> Setting the PIGLIT_DEFAULT_SIZE to WIDTHxHEIGHT will change the
> default from 160x160 to the requested value.
>
> This can be useful if you want to make the number of fragments really
> small. For example, PIGLIT_DEFAULT_SIZE=4x4 would only have 16 pixels
> compared to the standard 160 * 160, or 25600.
>
> Not all piglit tests will operate properly at every size, so this
> environment variable should be used carefully.
>
> Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
> ---
>  tests/util/piglit-framework-gl.c | 31 +++++++++++++++++++++++++++++++
>  tests/util/piglit-framework-gl.h |  7 -------
>  2 files changed, 31 insertions(+), 7 deletions(-)
>
> diff --git a/tests/util/piglit-framework-gl.c b/tests/util/piglit-framework-gl.c
> index 6a1c201..b9ab2f8 100644
> --- a/tests/util/piglit-framework-gl.c
> +++ b/tests/util/piglit-framework-gl.c
> @@ -43,10 +43,41 @@ static void
>  process_args(int *argc, char *argv[], unsigned *force_samples,
>              struct piglit_gl_test_config *config);
>
> +static bool
> +override_size(struct piglit_gl_test_config *config)
> +{
> +       const char *default_size;
> +       unsigned int width;
> +       unsigned int height;
> +
> +       default_size = getenv("PIGLIT_DEFAULT_SIZE");
> +       if (!default_size)
> +               return false;
> +
> +       if (sscanf(default_size, "%ux%u", &width, &height) != 2)
> +               return false;
> +
> +       if (width == 0 || height == 0)
> +               return false;
> +
> +       config->window_width = width;
> +       config->window_height = height;
> +       return true;
> +}
> +
>  void
>  piglit_gl_test_config_init(struct piglit_gl_test_config *config)
>  {
>         memset(config, 0, sizeof(*config));
> +
> +       if (!override_size(config)) {
> +               /* Default window size.  Note: Win8's min window width */
> +               /* seems to be 160 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 = 160;
> +               config->window_height = 160;
> +       }
>  }
>
>  static void
> diff --git a/tests/util/piglit-framework-gl.h b/tests/util/piglit-framework-gl.h
> index cff4533..81c1a5e 100644
> --- a/tests/util/piglit-framework-gl.h
> +++ b/tests/util/piglit-framework-gl.h
> @@ -267,13 +267,6 @@ piglit_gl_test_run(int argc, char *argv[],
>                  config.init = piglit_init;                                   \
>                  config.display = piglit_display;                             \
>                                                                               \
> -                /* Default window size.  Note: Win8's min window width */    \
> -                /* seems to be 160 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 = 160;                                   \
> -                config.window_height = 160;                                  \
> -                                                                             \
>                  /* Open a new scope so that tests can declare locals */      \
>                  /* between here and PIGLIT_GL_TEST_CONFIG_END. */            \
>                  {
> --
> 2.1.4
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit

Looks useful to me.
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>


More information about the Piglit mailing list