Bug 107639

Summary: Test 'arb_program_interface_query-getprogramresourceindex' fails on SNB and KBL on latest mesa from git.
Product: piglit Reporter: asimiklit <andrey.simiklit>
Component: testsAssignee: Piglit Mailing List <piglit>
Status: RESOLVED DUPLICATE QA Contact: Piglit Mailing List <piglit>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description asimiklit 2018-08-21 11:36:13 UTC
Test 'arb_program_interface_query-getprogramresourceindex' fails on SNB and KBL on latest mesa from git on the following subtest:

Invalid index for 'vs_input2[1][0]': expected INVALID_INDEX but got 1
PIGLIT: {"subtest": {"'vs_input2[1][0]' on GL_PROGRAM_INPUT" : "fail"}}

But according to spec:

> /* Naming conventions, from the GL_ARB_program_interface_query extension:
>  *
>  * "When building a list of active variable or interface blocks, resources
>  * with aggregate types (such as arrays or structures) may produce multiple
>  * entries in the active resource list for the corresponding interface.
>  * Additionally, each active variable, interface block, or subroutine in the
>  * list is assigned an associated name string that can be used by
>  * applications to refer to the resources.  For interfaces involving
>  * variables, interface blocks, or subroutines, the entries of active
>  * resource lists are generated as follows:
> ..................
> *  * For an active variable declared as an array of an aggregate data type
> *    (structures or arrays), a separate entry will be generated for each
> *    active array element, unless noted immediately below.  The name of
> *    each entry is formed by concatenating the name of the array, the "["
> *    character, an integer identifying the element number, and the "]"
> *    character.  These enumeration rules are applied recursively, treating
> *    each enumerated array element as a separate active variable.
> .......................

I guess that the 'glGetProgramResourceIndex' function should return a valid index for the 'vs_input2[1][0]' case. I think that the 'vs_input2[0][0]' and 'vs_input2[1][0]' cases are the separated valid entries here according to spec above. So I think that this subtest should pass for this cases. Please let me know if I am incorrect.
Comment 1 asimiklit 2018-08-21 11:43:55 UTC
The solution is suggested:
https://patchwork.freedesktop.org/patch/245376/
Comment 2 Timothy Arceri 2018-08-21 12:44:10 UTC
(In reply to asimiklit from comment #0)
> Test 'arb_program_interface_query-getprogramresourceindex' fails on SNB and
> KBL on latest mesa from git on the following subtest:
> 
> Invalid index for 'vs_input2[1][0]': expected INVALID_INDEX but got 1
> PIGLIT: {"subtest": {"'vs_input2[1][0]' on GL_PROGRAM_INPUT" : "fail"}}
> 
> But according to spec:
> 
> > /* Naming conventions, from the GL_ARB_program_interface_query extension:
> >  *
> >  * "When building a list of active variable or interface blocks, resources
> >  * with aggregate types (such as arrays or structures) may produce multiple
> >  * entries in the active resource list for the corresponding interface.
> >  * Additionally, each active variable, interface block, or subroutine in the
> >  * list is assigned an associated name string that can be used by
> >  * applications to refer to the resources.  For interfaces involving
> >  * variables, interface blocks, or subroutines, the entries of active
> >  * resource lists are generated as follows:
> > ..................
> > *  * For an active variable declared as an array of an aggregate data type
> > *    (structures or arrays), a separate entry will be generated for each
> > *    active array element, unless noted immediately below.  The name of
> > *    each entry is formed by concatenating the name of the array, the "["
> > *    character, an integer identifying the element number, and the "]"
> > *    character.  These enumeration rules are applied recursively, treating
> > *    each enumerated array element as a separate active variable.
> > .......................
> 
> I guess that the 'glGetProgramResourceIndex' function should return a valid
> index for the 'vs_input2[1][0]' case. I think that the 'vs_input2[0][0]' and
> 'vs_input2[1][0]' cases are the separated valid entries here according to
> spec above. So I think that this subtest should pass for this cases. Please
> let me know if I am incorrect.

I believe the word above is "active" yes they are separate but if I'm remembering this problem correctly they are not all active.

I believe this is a Mesa bug not a piglit bug.

See: https://bugs.freedesktop.org/show_bug.cgi?id=92822#c7
Comment 3 asimiklit 2018-08-21 13:03:21 UTC

*** This bug has been marked as a duplicate of bug 92822 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.