From patchwork Sat Jun 14 12:35:58 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: 'Timothy Arceri' via Patchwork Forward X-Patchwork-Id: 31895 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-pd0-f198.google.com (mail-pd0-f198.google.com [209.85.192.198]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id B300E201EF for ; Sat, 14 Jun 2014 12:36:42 +0000 (UTC) Received: by mail-pd0-f198.google.com with SMTP id y10sf1701851pdj.5 for ; Sat, 14 Jun 2014 05:36:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:delivered-to:from:to:date :message-id:in-reply-to:references:subject:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:list-subscribe :mime-version:errors-to:sender:x-original-sender :x-original-authentication-results:mailing-list:reply-to :content-type:content-transfer-encoding; bh=EMMzoQ0CaLXZqJg1XG7bhRcdqyIB7+QPVG9dTBjyJu0=; b=ekb/l4iE8hOGIrysi0wjOgGNavfi8S18VSvFKA2lPLc9lBV2gcyStneD9OQ2KiwQNc y0gXIG2C8qHA67rnlb8BzILtg3wWvy4BRB9thDR8eOgaXiApbsAf5Re8H1b/borZe0RD C4N7JT14q6SnieR4Dki1HCEy2Qiz0l+8qz9JPkI0nnDjoFKpH+2bUeIHpkhIXmkiFY0j ET+Da4+QFHx/WcfRwI7qoDyhcjnrjRqcgP033mhppHZ66cTw5SnCg0ww963EokhFsyS+ nqf+7SqfNia5eGOijTz3qPNLmaRrwE0T8CvlC07B3YThEkBHzEvCnfQef1XLOI5uJznI LgtQ== X-Gm-Message-State: ALoCoQkPVKhHFtyGFvJhJWtWYeM+6u6Tm/U6Oo4/P7//IimeWc6Qai6rms552Bpl0c+Zx6TyGD+i X-Received: by 10.66.234.194 with SMTP id ug2mr53134pac.37.1402749401957; Sat, 14 Jun 2014 05:36:41 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.22.39 with SMTP id 36ls3734213qgm.75.gmail; Sat, 14 Jun 2014 05:36:41 -0700 (PDT) X-Received: by 10.53.0.135 with SMTP id ay7mr5798938vdd.11.1402749401803; Sat, 14 Jun 2014 05:36:41 -0700 (PDT) Received: from mail-ve0-x234.google.com (mail-ve0-x234.google.com [2607:f8b0:400c:c01::234]) by mx.google.com with ESMTPS id nu8si2333934vcb.16.2014.06.14.05.36.41 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 14 Jun 2014 05:36:41 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2607:f8b0:400c:c01::234 as permitted sender) client-ip=2607:f8b0:400c:c01::234; Received: by mail-ve0-f180.google.com with SMTP id jw12so4444496veb.11 for ; Sat, 14 Jun 2014 05:36:41 -0700 (PDT) X-Received: by 10.52.35.69 with SMTP id f5mr43151vdj.83.1402749401703; Sat, 14 Jun 2014 05:36:41 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.221.54.6 with SMTP id vs6csp20553vcb; Sat, 14 Jun 2014 05:36:41 -0700 (PDT) X-Received: by 10.67.4.138 with SMTP id ce10mr10568556pad.12.1402749400610; Sat, 14 Jun 2014 05:36:40 -0700 (PDT) Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) by mx.google.com with ESMTP id qi1si5199004pbb.6.2014.06.14.05.36.40 for ; Sat, 14 Jun 2014 05:36:40 -0700 (PDT) Received-SPF: none (google.com: piglit-bounces@lists.freedesktop.org does not designate permitted sender hosts) client-ip=131.252.210.177; Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 03CCB6E12E; Sat, 14 Jun 2014 05:36:40 -0700 (PDT) X-Original-To: piglit@lists.freedesktop.org Delivered-To: piglit@lists.freedesktop.org Received: from nm2-vm1.bullet.mail.bf1.yahoo.com (nm2-vm1.bullet.mail.bf1.yahoo.com [98.139.213.158]) by gabe.freedesktop.org (Postfix) with ESMTP id DB21D6E12E for ; Sat, 14 Jun 2014 05:36:38 -0700 (PDT) Received: from [98.139.214.32] by nm2.bullet.mail.bf1.yahoo.com with NNFMP; 14 Jun 2014 12:36:37 -0000 Received: from [68.142.230.73] by tm15.bullet.mail.bf1.yahoo.com with NNFMP; 14 Jun 2014 12:36:37 -0000 Received: from [127.0.0.1] by smtp230.mail.bf1.yahoo.com with NNFMP; 14 Jun 2014 12:36:37 -0000 X-Yahoo-Newman-Id: 565274.78592.bm@smtp230.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: yDUyl6oVM1nWywMHvPHo3XMLm5zmTPjuaYaRwU8yHxWXLtd b1PJWijEEgJgV5.vLWYjvuTLL8xC3D28AfdLBqXt3rvRUeidCPHkW36yJ0KC yhaB7NlFI8ggFZ2qlMCD.qgYOiKRY5QM0BDiwsejpbjkqgsYBUP4.GK1hRpG n9vn0MtixWuoSyiwvRu64ua5YfKiQ21qC71sBNZdBKUNYjO16XqmxEYuX4qM haMefnIU1ihmv1n0CM4ovI13A9YyFUblALuNbp5LGLSTsSDyBZRlOazbIIoO F9Tkf3q3DHiesG0oN7ieiKh7iCoM9Yy6bF7IQy8ZzeJyA_EHvVAw8Az74pKn zoaMaSZUjZYb4jWTaNUIHxOtajjDgQJBQPocKBCpV5UEZeAXuKAKry8vWcTj lm84HPNZuRzLbT31fBgF8Lphzhfl3jsA9BkSE9332_aKPX5WRUgaOqXGNqZB okCW_fEOUxe9s7ylChTXjEGwrUji_AxPyqFlRALl5dzA71g3.VM.s88yAt_6 Zg912._jwc1KiiLGQbg1ycDCL X-Yahoo-SMTP: 9BNlx.aswBAkr0D8mG_whiOP1dyU X-Rocket-Received: from localhost.localdomain (t_arceri@60.240.113.240 with plain [98.139.211.125]) by smtp230.mail.bf1.yahoo.com with SMTP; 14 Jun 2014 12:36:37 +0000 UTC From: "'Timothy Arceri' via Patchwork Forward" To: piglit@lists.freedesktop.org Date: Sat, 14 Jun 2014 22:35:58 +1000 Message-Id: <1402749361-11643-7-git-send-email-t_arceri@yahoo.com.au> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1402749361-11643-1-git-send-email-t_arceri@yahoo.com.au> References: <1402749361-11643-1-git-send-email-t_arceri@yahoo.com.au> Subject: [Piglit] [PATCH V4 06/11] arb_arrays_of_arrays: interface and struct tests X-BeenThere: piglit@lists.freedesktop.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , MIME-Version: 1.0 Errors-To: piglit-bounces@lists.freedesktop.org Sender: "Piglit" X-Original-Sender: patch@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2607:f8b0:400c:c01::234 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org; dkim=neutral (body hash did not verify) header.i=@; dmarc=fail (p=NONE dis=NONE) header.from=yahoo.com.au Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 X-Original-From: Timothy Arceri Reply-To: Timothy Arceri Test results are from the following hardware/driver combinations: AMD Radeon HD 6670 - Catalyst 13.251 OpenGL 4.3 Nvidia GeForce 210 - NVIDIA 331.20 OpenGL 3.3 Intel Ivy Bridge - Mesa 10.1(815e064) with ARB_arrays_of_arrays enabled arrays-of-struct-with-field-arrays.vert AMD: pass Nvida: pass Intel: pass interface-field-array-array-var.vert AMD: pass Nvida: pass Intel: pass interface-field-array-var-array.vert AMD: pass Nvida: pass Intel: pass interface-field-maxbounds-access-array-array-var.geom AMD: pass Nvida: pass Intel: pass interface-field-maxbounds-access-array-var-array.geom AMD: pass Nvida: pass Intel: pass interface-field-maxbounds-access-var-array-array.geom AMD: pass Nvida: pass Intel: pass interface-field-outofbounds-access-array-array-var.geom AMD: pass Nvida: fail (Nvidia only warns for outofbounds) Intel: pass interface-field-outofbounds-access-array-var-array.geom AMD: pass Nvida: fail (Nvidia only warns for outofbounds) Intel: pass interface-field-outofbounds-access-var-array-array.geom AMD: pass Nvida: fail (Nvidia only warns for outofbounds) Intel: pass interface-field-var-array-array.vert AMD: pass Nvida: pass Intel: pass interface-maxbounds.vert AMD: pass Nvida: pass Intel: crash interface-outofbounds.vert AMD: pass Nvida: fail (Nvidia only warns for outofbounds) Intel: pass interface.vert AMD: pass Nvida: pass Intel: pass structure-field-array-array-var.frag AMD: pass Nvida: pass Intel: pass structure-field-array-var-array.frag AMD: pass Nvida: pass Intel: pass structure-field-var-array-array.frag AMD: pass Nvida: pass Intel: pass Signed-off-by: Timothy Arceri --- .../arrays-of-struct-with-field-arrays.vert | 29 ++++++++++++++++++++++ .../compiler/interface-field-array-array-var.vert | 18 ++++++++++++++ .../compiler/interface-field-array-var-array.vert | 18 ++++++++++++++ ...ace-field-maxbounds-access-array-array-var.geom | 18 ++++++++++++++ ...ace-field-maxbounds-access-array-var-array.geom | 18 ++++++++++++++ ...ace-field-maxbounds-access-var-array-array.geom | 18 ++++++++++++++ ...e-field-outofbounds-access-array-array-var.geom | 18 ++++++++++++++ ...e-field-outofbounds-access-array-var-array.geom | 18 ++++++++++++++ ...e-field-outofbounds-access-var-array-array.geom | 18 ++++++++++++++ .../compiler/interface-field-var-array-array.vert | 18 ++++++++++++++ .../compiler/interface-maxbounds.vert | 18 ++++++++++++++ .../compiler/interface-outofbounds.vert | 18 ++++++++++++++ .../arb_arrays_of_arrays/compiler/interface.vert | 18 ++++++++++++++ .../compiler/structure-field-array-array-var.frag | 19 ++++++++++++++ .../compiler/structure-field-array-var-array.frag | 19 ++++++++++++++ .../compiler/structure-field-var-array-array.frag | 19 ++++++++++++++ 16 files changed, 302 insertions(+) create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/arrays-of-struct-with-field-arrays.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-field-array-array-var.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-field-array-var-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-array-array-var.geom create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-array-var-array.geom create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-var-array-array.geom create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-array-array-var.geom create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-array-var-array.geom create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-var-array-array.geom create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-field-var-array-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-maxbounds.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface-outofbounds.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/interface.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/structure-field-array-array-var.frag create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/structure-field-array-var-array.frag create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/structure-field-var-array-array.frag diff --git a/tests/spec/arb_arrays_of_arrays/compiler/arrays-of-struct-with-field-arrays.vert b/tests/spec/arb_arrays_of_arrays/compiler/arrays-of-struct-with-field-arrays.vert new file mode 100644 index 0000000..f04568b --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/arrays-of-struct-with-field-arrays.vert @@ -0,0 +1,29 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.20 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + * + * From page 18 (page 24 of the PDF) of the GLSL 1.20 spec: + * + * "Member declarators can contain arrays. Such arrays must have a size + * specified, and the size must be an integral constant expression that's + * greater than zero (see Section 4.3.3 "Constant Expressions")." + * + * From page 19 (page 25 of the PDF) of the GLSL 1.20 spec: + * + * "All basic types and structures can be formed into arrays." + */ +#version 120 +#extension GL_ARB_arrays_of_arrays: enable + +struct s { + float x[3][2]; + int y; +}; + +void main() +{ + s a[2][4]; + gl_Position = vec4(a.length() + a[0][0].x.length()); +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-field-array-array-var.vert b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-array-array-var.vert new file mode 100644 index 0000000..0ed922c --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-array-array-var.vert @@ -0,0 +1,18 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +uniform ArraysOfArraysBlock +{ + vec4 [3][2]a; +} i; + +void main() +{ + gl_Position = vec4(1.0); +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-field-array-var-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-array-var-array.vert new file mode 100644 index 0000000..5001dde --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-array-var-array.vert @@ -0,0 +1,18 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +uniform ArraysOfArraysBlock +{ + vec4[2] a[3]; +} i; + +void main() +{ + gl_Position = vec4(1.0); +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-array-array-var.geom b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-array-array-var.geom new file mode 100644 index 0000000..d91f667 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-array-array-var.geom @@ -0,0 +1,18 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +in ArraysOfArraysBlock +{ + vec4 [3][2]a; +} i[]; + +void main() +{ + gl_Position = i[0].a[2][1]; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-array-var-array.geom b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-array-var-array.geom new file mode 100644 index 0000000..a942656 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-array-var-array.geom @@ -0,0 +1,18 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +in ArraysOfArraysBlock +{ + vec4[2] a[3]; +} i[]; + +void main() +{ + gl_Position = i[0].a[2][1]; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-var-array-array.geom b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-var-array-array.geom new file mode 100644 index 0000000..d194f9b --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-maxbounds-access-var-array-array.geom @@ -0,0 +1,18 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +in ArraysOfArraysBlock +{ + vec4 a[3][2]; +} i[]; + +void main() +{ + gl_Position = i[0].a[2][1]; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-array-array-var.geom b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-array-array-var.geom new file mode 100644 index 0000000..897de98 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-array-array-var.geom @@ -0,0 +1,18 @@ +/* [config] + * expect_result: fail + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +in ArraysOfArraysBlock +{ + vec4 [3][2]a; +} i[]; + +void main() +{ + gl_Position = i[0].a[2][2]; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-array-var-array.geom b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-array-var-array.geom new file mode 100644 index 0000000..7860256 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-array-var-array.geom @@ -0,0 +1,18 @@ +/* [config] + * expect_result: fail + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +in ArraysOfArraysBlock +{ + vec4[2] a[3]; +} i[]; + +void main() +{ + gl_Position = i[0].a[3][1]; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-var-array-array.geom b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-var-array-array.geom new file mode 100644 index 0000000..d864a99 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-outofbounds-access-var-array-array.geom @@ -0,0 +1,18 @@ +/* [config] + * expect_result: fail + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +in ArraysOfArraysBlock +{ + vec4 a[3][2]; +} i[]; + +void main() +{ + gl_Position = i[0].a[3][1]; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-field-var-array-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-var-array-array.vert new file mode 100644 index 0000000..cd97ed4 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-field-var-array-array.vert @@ -0,0 +1,18 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +uniform ArraysOfArraysBlock +{ + vec4 a[3][2]; +} i; + +void main() +{ + gl_Position = vec4(1.0); +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-maxbounds.vert b/tests/spec/arb_arrays_of_arrays/compiler/interface-maxbounds.vert new file mode 100644 index 0000000..7199c52 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-maxbounds.vert @@ -0,0 +1,18 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +uniform ArraysOfArraysBlock +{ + vec4 a; +} i[4][5]; + +void main() +{ + gl_Position = i[3][4].a; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface-outofbounds.vert b/tests/spec/arb_arrays_of_arrays/compiler/interface-outofbounds.vert new file mode 100644 index 0000000..afcafdf --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface-outofbounds.vert @@ -0,0 +1,18 @@ +/* [config] + * expect_result: fail + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +uniform ArraysOfArraysBlock +{ + vec4 a; +} i[4][5]; + +void main() +{ + gl_Position = i[3][5].a; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/interface.vert b/tests/spec/arb_arrays_of_arrays/compiler/interface.vert new file mode 100644 index 0000000..e7a519d --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/interface.vert @@ -0,0 +1,18 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.50 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 150 +#extension GL_ARB_arrays_of_arrays: enable + +uniform ArraysOfArraysBlock +{ + mat4 a; +} i[4][5]; + +void main() +{ + gl_Position = vec4(1.0); +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/structure-field-array-array-var.frag b/tests/spec/arb_arrays_of_arrays/compiler/structure-field-array-array-var.frag new file mode 100644 index 0000000..c361dcb --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/structure-field-array-array-var.frag @@ -0,0 +1,19 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.20 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 120 +#extension GL_ARB_arrays_of_arrays: enable + +struct S { + vec4[3][2] x; +}; + +uniform S s; + +void main() +{ + gl_FragData[0] = s.x[2][1]; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/structure-field-array-var-array.frag b/tests/spec/arb_arrays_of_arrays/compiler/structure-field-array-var-array.frag new file mode 100644 index 0000000..2e862e6 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/structure-field-array-var-array.frag @@ -0,0 +1,19 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.20 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 120 +#extension GL_ARB_arrays_of_arrays: enable + +struct S { + vec4 [2] x[2]; +}; + +uniform S s; + +void main() +{ + gl_FragData[0] = s.x[0][1]; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/structure-field-var-array-array.frag b/tests/spec/arb_arrays_of_arrays/compiler/structure-field-var-array-array.frag new file mode 100644 index 0000000..bb4a95e --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/structure-field-var-array-array.frag @@ -0,0 +1,19 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.20 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + */ +#version 120 +#extension GL_ARB_arrays_of_arrays: enable + +struct S { + vec4 x[2][3]; +}; + +uniform S s; + +void main() +{ + gl_FragData[0] = s.x[1][2]; +}