[Piglit] [PATCH] arb_program_interface_query: corrected AoA's index variable expectation
Timothy Arceri
tarceri at itsqueeze.com
Thu Mar 21 21:44:23 UTC 2019
On 22/3/19 1:48 am, Andres Gomez wrote:
> On Sat, 2019-02-16 at 10:05 +1100, Timothy Arceri wrote:
>> NAK.
>>
>> The problem is this will end up making the test fail on the Nvidia blob.
>> Technically neither is incorrect, but the test does show Mesa's failure
>> to detect the unused element. Again this is not technically a failure of
>> the spec as it's dependent on the implementations ability to detect
>> active array elements. However I'd rather leave this than work around
>> our substandard detection of inactive elements.
>
> I wonder if it's really worthy, then, to test something that is
> implementation dependent.
>
>> See [1] for more information, and note I also rejected the Mesa solution
>> proposed by Andrii in the bug report because it was too much code for
>> something that didn't actually remove the unused components but just hid
>> them from the resource list.
>>
>> I think if we actually want to fix this properly then we could do it by
>> making a NIR linker for GLSL.
>>
>> [1] https://bugs.freedesktop.org/show_bug.cgi?id=92822
>
> OK. Thanks for the thorough explanation! I'll drop this patch.
I also don't think we need a full NIR linker to pass this test. Just
switching to the new nir_build_program_resource_list() once further
support for ARB_gl_spirv lands (and we add any missing GL support)
should do the trick.
>
>>
>> On 9/2/19 3:59 am, Andres Gomez wrote:
>>> Naming conventions, from the GL_ARB_program_interface_query extension:
>>>
>>> " * 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."
>>>
>>> Cc: Timothy Arceri <tarceri at itsqueeze.com>
>>> Cc: Martin Peres <martin.peres at linux.intel.com>
>>> Signed-off-by: Andres Gomez <agomez at igalia.com>
>>> ---
>>> .../spec/arb_program_interface_query/getprogramresourceindex.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/tests/spec/arb_program_interface_query/getprogramresourceindex.c b/tests/spec/arb_program_interface_query/getprogramresourceindex.c
>>> index 16b38e2d5..2afc9eeb9 100755
>>> --- a/tests/spec/arb_program_interface_query/getprogramresourceindex.c
>>> +++ b/tests/spec/arb_program_interface_query/getprogramresourceindex.c
>>> @@ -167,7 +167,7 @@ static const struct subtest_index_t index_subtests[] = {
>>> { vs_aofa, GL_PROGRAM_INPUT, "vs_input2", false, -1, GL_NO_ERROR },
>>> { vs_aofa, GL_PROGRAM_INPUT, "vs_input2[0]", true, -1, GL_NO_ERROR },
>>> { vs_aofa, GL_PROGRAM_INPUT, "vs_input2[0][0]", true, -1, GL_NO_ERROR },
>>> - { vs_aofa, GL_PROGRAM_INPUT, "vs_input2[1][0]", false, -1, GL_NO_ERROR },
>>> + { vs_aofa, GL_PROGRAM_INPUT, "vs_input2[1][0]", true, -1, GL_NO_ERROR },
>>> { vs_aofa, GL_PROGRAM_INPUT, "vs_input2[0][1]", false, -1, GL_NO_ERROR },
>>> { vs_sub, GL_VERTEX_SUBROUTINE, "vss", true, -1, GL_NO_ERROR },
>>> { vs_sub, GL_VERTEX_SUBROUTINE, "vss2", true, -1, GL_NO_ERROR },
>>>
More information about the Piglit
mailing list