arb_program_interface_query: fix array of arrays case

Submitted by andrey simiklit on Aug. 21, 2018, 11:38 a.m.

Details

Message ID 1534851511-9053-1-git-send-email-asimiklit.work@gmail.com
State New
Headers show
Series "arb_program_interface_query: fix array of arrays case" ( rev: 1 ) in Piglit

Not browsing as part of any series.

Commit Message

andrey simiklit Aug. 21, 2018, 11:38 a.m.
From: Andrii Simiklit <andrii.simiklit@globallogic.com>

According to spec:
   "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 ..."
Mesa should return valid index for 'vs_input2[1][0]' cases.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107639
Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
---
 tests/spec/arb_program_interface_query/getprogramresourceindex.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/tests/spec/arb_program_interface_query/getprogramresourceindex.c b/tests/spec/arb_program_interface_query/getprogramresourceindex.c
index 16b38e2..92d9a90 100755
--- a/tests/spec/arb_program_interface_query/getprogramresourceindex.c
+++ b/tests/spec/arb_program_interface_query/getprogramresourceindex.c
@@ -167,8 +167,9 @@  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_aofa,              GL_PROGRAM_INPUT,    "vs_input2[1][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 },
 	{ vs_subidx,          GL_VERTEX_SUBROUTINE,            "vss_idx",  true,  5, GL_NO_ERROR },

Comments

On 21/08/18 21:38, asimiklit.work@gmail.com wrote:

> From: Andrii Simiklit <andrii.simiklit@globallogic.com>
>
> According to spec:
>     "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 ..."
> Mesa should return valid index for 'vs_input2[1][0]' cases.
I believe the key 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, it was just tricky to fix and always a low priority.

See:https://bugs.freedesktop.org/show_bug.cgi?id=92822#c7

>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107639
> Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
> ---
>   tests/spec/arb_program_interface_query/getprogramresourceindex.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tests/spec/arb_program_interface_query/getprogramresourceindex.c b/tests/spec/arb_program_interface_query/getprogramresourceindex.c
> index 16b38e2..92d9a90 100755
> --- a/tests/spec/arb_program_interface_query/getprogramresourceindex.c
> +++ b/tests/spec/arb_program_interface_query/getprogramresourceindex.c
> @@ -167,8 +167,9 @@ 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_aofa,              GL_PROGRAM_INPUT,    "vs_input2[1][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 },
>   	{ vs_subidx,          GL_VERTEX_SUBROUTINE,            "vss_idx",  true,  5, GL_NO_ERROR },