[1/4] util: add an option to run an existing test with a compatibility profile

Submitted by Marek Olšák on Oct. 21, 2017, 12:55 p.m.

Details

Message ID 1508590505-4715-1-git-send-email-maraeo@gmail.com
State New
Headers show
Series "Series without cover letter" ( rev: 1 ) in Piglit

Not browsing as part of any series.

Commit Message

Marek Olšák Oct. 21, 2017, 12:55 p.m.
From: Marek Olšák <marek.olsak@amd.com>

and run one TBO test with it.
---
 tests/all.py                     | 1 +
 tests/util/piglit-framework-gl.c | 9 +++++++++
 2 files changed, 10 insertions(+)

Patch hide | download patch | download mbox

diff --git a/tests/all.py b/tests/all.py
index ff2ff1f..e25a5f6 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -2581,20 +2581,21 @@  with profile.test_list.group_manager(
     g(['arb_texture_buffer_object-unused-name'], 'unused-name')
     g(['arb_texture_buffer_object-render-no-bo'], 'render-no-bo')
 
 with profile.test_list.group_manager(
         PiglitGLTest,
         grouptools.join('spec', 'ARB_texture_buffer_range')) as g:
     g(['arb_texture_buffer_range-dlist'], 'dlist')
     g(['arb_texture_buffer_range-errors'], 'errors')
     g(['arb_texture_buffer_range-ranges'], 'ranges')
     g(['arb_texture_buffer_range-ranges-2'], 'ranges-2')
+    g(['arb_texture_buffer_range-ranges-2', '-compat'], 'ranges-2 compat')
 
 with profile.test_list.group_manager(
         PiglitGLTest,
         grouptools.join('spec', 'ARB_texture_rectangle')) as g:
     g(['1-1-linear-texture'])
     g(['texrect-many'], run_concurrent=False)
     g(['getteximage-targets', 'RECT'])
     g(['texrect_simple_arb_texrect'], run_concurrent=False)
     g(['arb_texrect-texture-base-level-error'], run_concurrent=False)
     g(['fbo-blit', 'rect'], run_concurrent=False)
diff --git a/tests/util/piglit-framework-gl.c b/tests/util/piglit-framework-gl.c
index a8e02d2..29e0e3a 100644
--- a/tests/util/piglit-framework-gl.c
+++ b/tests/util/piglit-framework-gl.c
@@ -170,20 +170,29 @@  process_args(int *argc, char *argv[], unsigned *force_samples,
 					"khr_no_error_support unknown "
 					"skipping test!\n");
 				piglit_report_result(PIGLIT_SKIP);
 			} else if (config->khr_no_error_support ==
 				   PIGLIT_HAS_ERRORS) {
 				piglit_report_result(PIGLIT_SKIP);
 			} else {
 				assert(config->khr_no_error_support ==
 				       PIGLIT_NO_ERRORS);
 			}
+		} else if (!strcmp(argv[j], "-compat")) {
+			if (config->supports_gl_es_version) {
+				fprintf(stderr,
+					"-compat isn't allowed with ES tests!\n");
+				piglit_report_result(PIGLIT_FAIL);
+			}
+			config->supports_gl_compat_version = 10;
+			config->supports_gl_core_version = 0;
+			puts("The compatibility profile forced.");
 		}
 	}
 }
 
 void
 piglit_gl_process_args(int *argc, char *argv[],
 		       struct piglit_gl_test_config *config)
 {
 	unsigned force_samples = 0;
 

Comments

On Sat, Oct 21, 2017 at 8:55 AM, Marek Olšák <maraeo@gmail.com> wrote:
> From: Marek Olšák <marek.olsak@amd.com>
>
> and run one TBO test with it.
> ---
>  tests/all.py                     | 1 +
>  tests/util/piglit-framework-gl.c | 9 +++++++++
>  2 files changed, 10 insertions(+)
>
> diff --git a/tests/all.py b/tests/all.py
> index ff2ff1f..e25a5f6 100644
> --- a/tests/all.py
> +++ b/tests/all.py
> @@ -2581,20 +2581,21 @@ with profile.test_list.group_manager(
>      g(['arb_texture_buffer_object-unused-name'], 'unused-name')
>      g(['arb_texture_buffer_object-render-no-bo'], 'render-no-bo')
>
>  with profile.test_list.group_manager(
>          PiglitGLTest,
>          grouptools.join('spec', 'ARB_texture_buffer_range')) as g:
>      g(['arb_texture_buffer_range-dlist'], 'dlist')
>      g(['arb_texture_buffer_range-errors'], 'errors')
>      g(['arb_texture_buffer_range-ranges'], 'ranges')
>      g(['arb_texture_buffer_range-ranges-2'], 'ranges-2')
> +    g(['arb_texture_buffer_range-ranges-2', '-compat'], 'ranges-2 compat')
>
>  with profile.test_list.group_manager(
>          PiglitGLTest,
>          grouptools.join('spec', 'ARB_texture_rectangle')) as g:
>      g(['1-1-linear-texture'])
>      g(['texrect-many'], run_concurrent=False)
>      g(['getteximage-targets', 'RECT'])
>      g(['texrect_simple_arb_texrect'], run_concurrent=False)
>      g(['arb_texrect-texture-base-level-error'], run_concurrent=False)
>      g(['fbo-blit', 'rect'], run_concurrent=False)
> diff --git a/tests/util/piglit-framework-gl.c b/tests/util/piglit-framework-gl.c
> index a8e02d2..29e0e3a 100644
> --- a/tests/util/piglit-framework-gl.c
> +++ b/tests/util/piglit-framework-gl.c
> @@ -170,20 +170,29 @@ process_args(int *argc, char *argv[], unsigned *force_samples,
>                                         "khr_no_error_support unknown "
>                                         "skipping test!\n");
>                                 piglit_report_result(PIGLIT_SKIP);
>                         } else if (config->khr_no_error_support ==
>                                    PIGLIT_HAS_ERRORS) {
>                                 piglit_report_result(PIGLIT_SKIP);
>                         } else {
>                                 assert(config->khr_no_error_support ==
>                                        PIGLIT_NO_ERRORS);
>                         }
> +               } else if (!strcmp(argv[j], "-compat")) {
> +                       if (config->supports_gl_es_version) {
> +                               fprintf(stderr,
> +                                       "-compat isn't allowed with ES tests!\n");
> +                               piglit_report_result(PIGLIT_FAIL);
> +                       }
> +                       config->supports_gl_compat_version = 10;
> +                       config->supports_gl_core_version = 0;
> +                       puts("The compatibility profile forced.");

Right now if a test specifies both gl_core and gl_compat, I believe
gl_core gets picked (not 100% sure). How about making -compat just set
gl_core to 0 and leave gl_compat alone?

>                 }
>         }
>  }
>
>  void
>  piglit_gl_process_args(int *argc, char *argv[],
>                        struct piglit_gl_test_config *config)
>  {
>         unsigned force_samples = 0;
>
> --
> 2.7.4
>
> _______________________________________________
> Piglit mailing list
> Piglit@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit
On Sat, Oct 21, 2017 at 7:57 PM, Ilia Mirkin <imirkin@alum.mit.edu> wrote:
> On Sat, Oct 21, 2017 at 8:55 AM, Marek Olšák <maraeo@gmail.com> wrote:
>> From: Marek Olšák <marek.olsak@amd.com>
>>
>> and run one TBO test with it.
>> ---
>>  tests/all.py                     | 1 +
>>  tests/util/piglit-framework-gl.c | 9 +++++++++
>>  2 files changed, 10 insertions(+)
>>
>> diff --git a/tests/all.py b/tests/all.py
>> index ff2ff1f..e25a5f6 100644
>> --- a/tests/all.py
>> +++ b/tests/all.py
>> @@ -2581,20 +2581,21 @@ with profile.test_list.group_manager(
>>      g(['arb_texture_buffer_object-unused-name'], 'unused-name')
>>      g(['arb_texture_buffer_object-render-no-bo'], 'render-no-bo')
>>
>>  with profile.test_list.group_manager(
>>          PiglitGLTest,
>>          grouptools.join('spec', 'ARB_texture_buffer_range')) as g:
>>      g(['arb_texture_buffer_range-dlist'], 'dlist')
>>      g(['arb_texture_buffer_range-errors'], 'errors')
>>      g(['arb_texture_buffer_range-ranges'], 'ranges')
>>      g(['arb_texture_buffer_range-ranges-2'], 'ranges-2')
>> +    g(['arb_texture_buffer_range-ranges-2', '-compat'], 'ranges-2 compat')
>>
>>  with profile.test_list.group_manager(
>>          PiglitGLTest,
>>          grouptools.join('spec', 'ARB_texture_rectangle')) as g:
>>      g(['1-1-linear-texture'])
>>      g(['texrect-many'], run_concurrent=False)
>>      g(['getteximage-targets', 'RECT'])
>>      g(['texrect_simple_arb_texrect'], run_concurrent=False)
>>      g(['arb_texrect-texture-base-level-error'], run_concurrent=False)
>>      g(['fbo-blit', 'rect'], run_concurrent=False)
>> diff --git a/tests/util/piglit-framework-gl.c b/tests/util/piglit-framework-gl.c
>> index a8e02d2..29e0e3a 100644
>> --- a/tests/util/piglit-framework-gl.c
>> +++ b/tests/util/piglit-framework-gl.c
>> @@ -170,20 +170,29 @@ process_args(int *argc, char *argv[], unsigned *force_samples,
>>                                         "khr_no_error_support unknown "
>>                                         "skipping test!\n");
>>                                 piglit_report_result(PIGLIT_SKIP);
>>                         } else if (config->khr_no_error_support ==
>>                                    PIGLIT_HAS_ERRORS) {
>>                                 piglit_report_result(PIGLIT_SKIP);
>>                         } else {
>>                                 assert(config->khr_no_error_support ==
>>                                        PIGLIT_NO_ERRORS);
>>                         }
>> +               } else if (!strcmp(argv[j], "-compat")) {
>> +                       if (config->supports_gl_es_version) {
>> +                               fprintf(stderr,
>> +                                       "-compat isn't allowed with ES tests!\n");
>> +                               piglit_report_result(PIGLIT_FAIL);
>> +                       }
>> +                       config->supports_gl_compat_version = 10;
>> +                       config->supports_gl_core_version = 0;
>> +                       puts("The compatibility profile forced.");
>
> Right now if a test specifies both gl_core and gl_compat, I believe
> gl_core gets picked (not 100% sure). How about making -compat just set
> gl_core to 0 and leave gl_compat alone?

I think that won't work, gl_compat_version needs to be non-zero.

Marek
FYI, the new test fails on i965 with this:

Failed to compile vertex shader: 0:1(10): error: GLSL 1.40 is not
supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00
ES


Is this expected?  I'm guessing it is since we don't support compat.

On Mon, Oct 23, 2017 at 5:31 AM, Marek Olšák <maraeo@gmail.com> wrote:

> On Sat, Oct 21, 2017 at 7:57 PM, Ilia Mirkin <imirkin@alum.mit.edu> wrote:
> > On Sat, Oct 21, 2017 at 8:55 AM, Marek Olšák <maraeo@gmail.com> wrote:
> >> From: Marek Olšák <marek.olsak@amd.com>
> >>
> >> and run one TBO test with it.
> >> ---
> >>  tests/all.py                     | 1 +
> >>  tests/util/piglit-framework-gl.c | 9 +++++++++
> >>  2 files changed, 10 insertions(+)
> >>
> >> diff --git a/tests/all.py b/tests/all.py
> >> index ff2ff1f..e25a5f6 100644
> >> --- a/tests/all.py
> >> +++ b/tests/all.py
> >> @@ -2581,20 +2581,21 @@ with profile.test_list.group_manager(
> >>      g(['arb_texture_buffer_object-unused-name'], 'unused-name')
> >>      g(['arb_texture_buffer_object-render-no-bo'], 'render-no-bo')
> >>
> >>  with profile.test_list.group_manager(
> >>          PiglitGLTest,
> >>          grouptools.join('spec', 'ARB_texture_buffer_range')) as g:
> >>      g(['arb_texture_buffer_range-dlist'], 'dlist')
> >>      g(['arb_texture_buffer_range-errors'], 'errors')
> >>      g(['arb_texture_buffer_range-ranges'], 'ranges')
> >>      g(['arb_texture_buffer_range-ranges-2'], 'ranges-2')
> >> +    g(['arb_texture_buffer_range-ranges-2', '-compat'], 'ranges-2
> compat')
> >>
> >>  with profile.test_list.group_manager(
> >>          PiglitGLTest,
> >>          grouptools.join('spec', 'ARB_texture_rectangle')) as g:
> >>      g(['1-1-linear-texture'])
> >>      g(['texrect-many'], run_concurrent=False)
> >>      g(['getteximage-targets', 'RECT'])
> >>      g(['texrect_simple_arb_texrect'], run_concurrent=False)
> >>      g(['arb_texrect-texture-base-level-error'], run_concurrent=False)
> >>      g(['fbo-blit', 'rect'], run_concurrent=False)
> >> diff --git a/tests/util/piglit-framework-gl.c
> b/tests/util/piglit-framework-gl.c
> >> index a8e02d2..29e0e3a 100644
> >> --- a/tests/util/piglit-framework-gl.c
> >> +++ b/tests/util/piglit-framework-gl.c
> >> @@ -170,20 +170,29 @@ process_args(int *argc, char *argv[], unsigned
> *force_samples,
> >>                                         "khr_no_error_support unknown "
> >>                                         "skipping test!\n");
> >>                                 piglit_report_result(PIGLIT_SKIP);
> >>                         } else if (config->khr_no_error_support ==
> >>                                    PIGLIT_HAS_ERRORS) {
> >>                                 piglit_report_result(PIGLIT_SKIP);
> >>                         } else {
> >>                                 assert(config->khr_no_error_support ==
> >>                                        PIGLIT_NO_ERRORS);
> >>                         }
> >> +               } else if (!strcmp(argv[j], "-compat")) {
> >> +                       if (config->supports_gl_es_version) {
> >> +                               fprintf(stderr,
> >> +                                       "-compat isn't allowed with ES
> tests!\n");
> >> +                               piglit_report_result(PIGLIT_FAIL);
> >> +                       }
> >> +                       config->supports_gl_compat_version = 10;
> >> +                       config->supports_gl_core_version = 0;
> >> +                       puts("The compatibility profile forced.");
> >
> > Right now if a test specifies both gl_core and gl_compat, I believe
> > gl_core gets picked (not 100% sure). How about making -compat just set
> > gl_core to 0 and leave gl_compat alone?
>
> I think that won't work, gl_compat_version needs to be non-zero.
>
> Marek
> _______________________________________________
> Piglit mailing list
> Piglit@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit
>
It's a test bug.

Marek

On Wed, Nov 1, 2017 at 5:51 AM, Jason Ekstrand <jason@jlekstrand.net> wrote:
> FYI, the new test fails on i965 with this:
>
> Failed to compile vertex shader: 0:1(10): error: GLSL 1.40 is not supported.
> Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
>
>
> Is this expected?  I'm guessing it is since we don't support compat.
>
> On Mon, Oct 23, 2017 at 5:31 AM, Marek Olšák <maraeo@gmail.com> wrote:
>>
>> On Sat, Oct 21, 2017 at 7:57 PM, Ilia Mirkin <imirkin@alum.mit.edu> wrote:
>> > On Sat, Oct 21, 2017 at 8:55 AM, Marek Olšák <maraeo@gmail.com> wrote:
>> >> From: Marek Olšák <marek.olsak@amd.com>
>> >>
>> >> and run one TBO test with it.
>> >> ---
>> >>  tests/all.py                     | 1 +
>> >>  tests/util/piglit-framework-gl.c | 9 +++++++++
>> >>  2 files changed, 10 insertions(+)
>> >>
>> >> diff --git a/tests/all.py b/tests/all.py
>> >> index ff2ff1f..e25a5f6 100644
>> >> --- a/tests/all.py
>> >> +++ b/tests/all.py
>> >> @@ -2581,20 +2581,21 @@ with profile.test_list.group_manager(
>> >>      g(['arb_texture_buffer_object-unused-name'], 'unused-name')
>> >>      g(['arb_texture_buffer_object-render-no-bo'], 'render-no-bo')
>> >>
>> >>  with profile.test_list.group_manager(
>> >>          PiglitGLTest,
>> >>          grouptools.join('spec', 'ARB_texture_buffer_range')) as g:
>> >>      g(['arb_texture_buffer_range-dlist'], 'dlist')
>> >>      g(['arb_texture_buffer_range-errors'], 'errors')
>> >>      g(['arb_texture_buffer_range-ranges'], 'ranges')
>> >>      g(['arb_texture_buffer_range-ranges-2'], 'ranges-2')
>> >> +    g(['arb_texture_buffer_range-ranges-2', '-compat'], 'ranges-2
>> >> compat')
>> >>
>> >>  with profile.test_list.group_manager(
>> >>          PiglitGLTest,
>> >>          grouptools.join('spec', 'ARB_texture_rectangle')) as g:
>> >>      g(['1-1-linear-texture'])
>> >>      g(['texrect-many'], run_concurrent=False)
>> >>      g(['getteximage-targets', 'RECT'])
>> >>      g(['texrect_simple_arb_texrect'], run_concurrent=False)
>> >>      g(['arb_texrect-texture-base-level-error'], run_concurrent=False)
>> >>      g(['fbo-blit', 'rect'], run_concurrent=False)
>> >> diff --git a/tests/util/piglit-framework-gl.c
>> >> b/tests/util/piglit-framework-gl.c
>> >> index a8e02d2..29e0e3a 100644
>> >> --- a/tests/util/piglit-framework-gl.c
>> >> +++ b/tests/util/piglit-framework-gl.c
>> >> @@ -170,20 +170,29 @@ process_args(int *argc, char *argv[], unsigned
>> >> *force_samples,
>> >>                                         "khr_no_error_support unknown "
>> >>                                         "skipping test!\n");
>> >>                                 piglit_report_result(PIGLIT_SKIP);
>> >>                         } else if (config->khr_no_error_support ==
>> >>                                    PIGLIT_HAS_ERRORS) {
>> >>                                 piglit_report_result(PIGLIT_SKIP);
>> >>                         } else {
>> >>                                 assert(config->khr_no_error_support ==
>> >>                                        PIGLIT_NO_ERRORS);
>> >>                         }
>> >> +               } else if (!strcmp(argv[j], "-compat")) {
>> >> +                       if (config->supports_gl_es_version) {
>> >> +                               fprintf(stderr,
>> >> +                                       "-compat isn't allowed with ES
>> >> tests!\n");
>> >> +                               piglit_report_result(PIGLIT_FAIL);
>> >> +                       }
>> >> +                       config->supports_gl_compat_version = 10;
>> >> +                       config->supports_gl_core_version = 0;
>> >> +                       puts("The compatibility profile forced.");
>> >
>> > Right now if a test specifies both gl_core and gl_compat, I believe
>> > gl_core gets picked (not 100% sure). How about making -compat just set
>> > gl_core to 0 and leave gl_compat alone?
>>
>> I think that won't work, gl_compat_version needs to be non-zero.
>>
>> Marek
>> _______________________________________________
>> Piglit mailing list
>> Piglit@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/piglit
>
>
I've pushed the fix to piglit master.

Marek

On Wed, Nov 1, 2017 at 2:57 PM, Marek Olšák <maraeo@gmail.com> wrote:
> It's a test bug.
>
> Marek
>
> On Wed, Nov 1, 2017 at 5:51 AM, Jason Ekstrand <jason@jlekstrand.net> wrote:
>> FYI, the new test fails on i965 with this:
>>
>> Failed to compile vertex shader: 0:1(10): error: GLSL 1.40 is not supported.
>> Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
>>
>>
>> Is this expected?  I'm guessing it is since we don't support compat.
>>
>> On Mon, Oct 23, 2017 at 5:31 AM, Marek Olšák <maraeo@gmail.com> wrote:
>>>
>>> On Sat, Oct 21, 2017 at 7:57 PM, Ilia Mirkin <imirkin@alum.mit.edu> wrote:
>>> > On Sat, Oct 21, 2017 at 8:55 AM, Marek Olšák <maraeo@gmail.com> wrote:
>>> >> From: Marek Olšák <marek.olsak@amd.com>
>>> >>
>>> >> and run one TBO test with it.
>>> >> ---
>>> >>  tests/all.py                     | 1 +
>>> >>  tests/util/piglit-framework-gl.c | 9 +++++++++
>>> >>  2 files changed, 10 insertions(+)
>>> >>
>>> >> diff --git a/tests/all.py b/tests/all.py
>>> >> index ff2ff1f..e25a5f6 100644
>>> >> --- a/tests/all.py
>>> >> +++ b/tests/all.py
>>> >> @@ -2581,20 +2581,21 @@ with profile.test_list.group_manager(
>>> >>      g(['arb_texture_buffer_object-unused-name'], 'unused-name')
>>> >>      g(['arb_texture_buffer_object-render-no-bo'], 'render-no-bo')
>>> >>
>>> >>  with profile.test_list.group_manager(
>>> >>          PiglitGLTest,
>>> >>          grouptools.join('spec', 'ARB_texture_buffer_range')) as g:
>>> >>      g(['arb_texture_buffer_range-dlist'], 'dlist')
>>> >>      g(['arb_texture_buffer_range-errors'], 'errors')
>>> >>      g(['arb_texture_buffer_range-ranges'], 'ranges')
>>> >>      g(['arb_texture_buffer_range-ranges-2'], 'ranges-2')
>>> >> +    g(['arb_texture_buffer_range-ranges-2', '-compat'], 'ranges-2
>>> >> compat')
>>> >>
>>> >>  with profile.test_list.group_manager(
>>> >>          PiglitGLTest,
>>> >>          grouptools.join('spec', 'ARB_texture_rectangle')) as g:
>>> >>      g(['1-1-linear-texture'])
>>> >>      g(['texrect-many'], run_concurrent=False)
>>> >>      g(['getteximage-targets', 'RECT'])
>>> >>      g(['texrect_simple_arb_texrect'], run_concurrent=False)
>>> >>      g(['arb_texrect-texture-base-level-error'], run_concurrent=False)
>>> >>      g(['fbo-blit', 'rect'], run_concurrent=False)
>>> >> diff --git a/tests/util/piglit-framework-gl.c
>>> >> b/tests/util/piglit-framework-gl.c
>>> >> index a8e02d2..29e0e3a 100644
>>> >> --- a/tests/util/piglit-framework-gl.c
>>> >> +++ b/tests/util/piglit-framework-gl.c
>>> >> @@ -170,20 +170,29 @@ process_args(int *argc, char *argv[], unsigned
>>> >> *force_samples,
>>> >>                                         "khr_no_error_support unknown "
>>> >>                                         "skipping test!\n");
>>> >>                                 piglit_report_result(PIGLIT_SKIP);
>>> >>                         } else if (config->khr_no_error_support ==
>>> >>                                    PIGLIT_HAS_ERRORS) {
>>> >>                                 piglit_report_result(PIGLIT_SKIP);
>>> >>                         } else {
>>> >>                                 assert(config->khr_no_error_support ==
>>> >>                                        PIGLIT_NO_ERRORS);
>>> >>                         }
>>> >> +               } else if (!strcmp(argv[j], "-compat")) {
>>> >> +                       if (config->supports_gl_es_version) {
>>> >> +                               fprintf(stderr,
>>> >> +                                       "-compat isn't allowed with ES
>>> >> tests!\n");
>>> >> +                               piglit_report_result(PIGLIT_FAIL);
>>> >> +                       }
>>> >> +                       config->supports_gl_compat_version = 10;
>>> >> +                       config->supports_gl_core_version = 0;
>>> >> +                       puts("The compatibility profile forced.");
>>> >
>>> > Right now if a test specifies both gl_core and gl_compat, I believe
>>> > gl_core gets picked (not 100% sure). How about making -compat just set
>>> > gl_core to 0 and leave gl_compat alone?
>>>
>>> I think that won't work, gl_compat_version needs to be non-zero.
>>>
>>> Marek
>>> _______________________________________________
>>> Piglit mailing list
>>> Piglit@lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/piglit
>>
>>