From patchwork Sat Jun 14 12:35:56 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: 31893 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ie0-f199.google.com (mail-ie0-f199.google.com [209.85.223.199]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 23763201EF for ; Sat, 14 Jun 2014 12:36:38 +0000 (UTC) Received: by mail-ie0-f199.google.com with SMTP id rd18sf20192316iec.2 for ; Sat, 14 Jun 2014 05:36:37 -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=hNUvs1SNjzroe8q2W4v+3BTU0JOrIXrSrHpscdoOn/4=; b=T4E2lulmX6XKZbYBQ3i1qjXWe3M1dGYAlS5GwQvaLO3lkfpvJJSSM0Ef66M47k1cmU a6riNqxh4tf9owvcMmFt0mCMkMgGQVloHyDY/xPW372vFXveDPaaqtraJJ1o+9XG3rJC dqdveJPH1Aacya3jrQDKJAPRc9ZORVUSclOx0s+6syb2ISbBB4+18IDpzYfIGuWAfU5/ r6dMN/ZAOpEq1Ym5tjiapMQno7qYkWlVQEouM7xIaCYvQp/xJ+1vupY4RUWqpQDbztmA 7qctunMUapqKqgQe2oFI13uw6bXNPljCOl75NZO7ijhHw5zsi4gGIllM5UcZq6TXai++ lgcQ== X-Gm-Message-State: ALoCoQnA7C8mpYP9Y0HLfiRmcUfNjBrAOG6pKj1KTH8PnAu+OoVDOmcl34Vh0iLJhIOAv6i1ER36 X-Received: by 10.42.27.18 with SMTP id h18mr1965043icc.25.1402749397680; Sat, 14 Jun 2014 05:36:37 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.22.145 with SMTP id 17ls3789055qgn.21.gmail; Sat, 14 Jun 2014 05:36:37 -0700 (PDT) X-Received: by 10.221.40.193 with SMTP id tr1mr259177vcb.31.1402749397554; Sat, 14 Jun 2014 05:36:37 -0700 (PDT) Received: from mail-ve0-x22b.google.com (mail-ve0-x22b.google.com [2607:f8b0:400c:c01::22b]) by mx.google.com with ESMTPS id sb3si2327357vdc.24.2014.06.14.05.36.37 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 14 Jun 2014 05:36:37 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2607:f8b0:400c:c01::22b as permitted sender) client-ip=2607:f8b0:400c:c01::22b; Received: by mail-ve0-f171.google.com with SMTP id jz11so4409835veb.2 for ; Sat, 14 Jun 2014 05:36:37 -0700 (PDT) X-Received: by 10.58.219.166 with SMTP id pp6mr6950232vec.1.1402749397461; Sat, 14 Jun 2014 05:36:37 -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 vs6csp20541vcb; Sat, 14 Jun 2014 05:36:36 -0700 (PDT) X-Received: by 10.67.14.37 with SMTP id fd5mr10811389pad.72.1402749396630; Sat, 14 Jun 2014 05:36:36 -0700 (PDT) Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) by mx.google.com with ESMTP id ez7si4913083pab.241.2014.06.14.05.36.36 for ; Sat, 14 Jun 2014 05:36:36 -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 1B3446E12D; Sat, 14 Jun 2014 05:36:36 -0700 (PDT) X-Original-To: piglit@lists.freedesktop.org Delivered-To: piglit@lists.freedesktop.org Received: from nm5-vm0.bullet.mail.bf1.yahoo.com (nm5-vm0.bullet.mail.bf1.yahoo.com [98.139.213.150]) by gabe.freedesktop.org (Postfix) with ESMTP id 062B76E12C for ; Sat, 14 Jun 2014 05:36:33 -0700 (PDT) Received: from [66.196.81.172] by nm5.bullet.mail.bf1.yahoo.com with NNFMP; 14 Jun 2014 12:36:33 -0000 Received: from [68.142.230.73] by tm18.bullet.mail.bf1.yahoo.com with NNFMP; 14 Jun 2014 12:36:33 -0000 Received: from [127.0.0.1] by smtp230.mail.bf1.yahoo.com with NNFMP; 14 Jun 2014 12:36:33 -0000 X-Yahoo-Newman-Id: 92647.78592.bm@smtp230.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: lVtiwx0VM1n9fKMeIafdn5zE0IQrTPwo3n6juxBXcWUT0TQ YQgMYDa4vNPGVp9jPR9XQ3X9paF3iHoDFh__thOdHsIQrJqylLiPq7IEFNYN mS.9MDl8PBvpPPCFmCfrGy8motDpgtS4UwqQLOXP3UpzGwhqHwIZBPHWLagO mgSNVJH86_PdZ8njcA0qKJgzTHlPUDzvAP28wZ2.h4q559zLWO9P3UGqxF6F mBXeyDByQUr3J0uKEC34steLVaSB4I6mE9SM4mmlf7S9tZV05zFB6Zqt51pb bmQD6aDJToMHtmsYCG04QNOaSjoAdXU_WIVdbPSQpwj5b1qz2DylaXjF.h.W hJoHsOMuQYpy0WEhXPfk9qEEewSBt5GgZ0qSgOdUm2zKZLvbLBnkg0DPaFES TpfDuZs9zSUCfT1WleRilpMGcnvdMh5whEcEYnk.Wive8BOahYtL17UDorGd psnOv5lzYSzhz40YPdzQ02reFrgDXpMnsLlr0xuVN77NzL2WuNeFtuF0_EQ5 Dow47Zmoja_khWmlPmHg60kTKzkA- 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:33 +0000 UTC From: "'Timothy Arceri' via Patchwork Forward" To: piglit@lists.freedesktop.org Date: Sat, 14 Jun 2014 22:35:56 +1000 Message-Id: <1402749361-11643-5-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 04/11] arb_arrays_of_arrays: function parameter and comparision 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::22b 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 equal-implicit-size.vert AMD: pass Nvida: pass Intel: pass equal-mismatched-size.vert AMD: pass Nvida: pass Intel: pass equal.vert AMD: pass Nvida: pass Intel: crash (arrays of arrays not supported for uniforms yet) function-parameter-declaration-array-array-var.vert AMD: pass Nvida: pass Intel: pass function-parameter-declaration-array-var-array.vert AMD: pass Nvida: pass Intel: pass function-parameter-declaration-var-array-array.vert AMD: pass Nvida: pass Intel: pass function-parameter-definition-array-array-var.vert AMD: pass Nvida: pass Intel: pass function-parameter-definition-array-var-array.vert AMD: pass Nvida: pass Intel: pass function-parameter-definition-var-array-array.vert AMD: pass Nvida: pass Intel: pass function-parameter-unsized.vert AMD: pass Nvida: pass Intel: pass Signed-off-by: Timothy Arceri --- .../compiler/equal-implicit-size.vert | 33 ++++++++++++++++++++++ .../compiler/equal-mismatched-size.vert | 23 +++++++++++++++ .../spec/arb_arrays_of_arrays/compiler/equal.vert | 24 ++++++++++++++++ ...tion-parameter-declaration-array-array-var.vert | 19 +++++++++++++ ...tion-parameter-declaration-array-var-array.vert | 19 +++++++++++++ ...tion-parameter-declaration-var-array-array.vert | 19 +++++++++++++ ...ction-parameter-definition-array-array-var.vert | 22 +++++++++++++++ ...ction-parameter-definition-array-var-array.vert | 22 +++++++++++++++ ...ction-parameter-definition-var-array-array.vert | 22 +++++++++++++++ .../compiler/function-parameter-unsized.vert | 22 +++++++++++++++ 10 files changed, 225 insertions(+) create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/equal-implicit-size.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/equal-mismatched-size.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/equal.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-array-array-var.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-array-var-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-var-array-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-array-array-var.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-array-var-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-var-array-array.vert create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/function-parameter-unsized.vert diff --git a/tests/spec/arb_arrays_of_arrays/compiler/equal-implicit-size.vert b/tests/spec/arb_arrays_of_arrays/compiler/equal-implicit-size.vert new file mode 100644 index 0000000..44d531b --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/equal-implicit-size.vert @@ -0,0 +1,33 @@ +/* [config] + * expect_result: fail + * glsl_version: 1.20 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + * + * From page 35 (page 41 of the PDF) of the GLSL 1.20 spec: + * + * "The equality operators and assignment operator are only allowed if the + * two operands are same size and type....Both array operands must be + * explicitly sized. When using the equality operators ... two arrays are + * equal if and only if all the elements are element-wise equal. + */ +#version 120 +#extension GL_ARB_arrays_of_arrays: enable + +uniform vec4 a[2][3]; + +void main() +{ + vec4 b[][3]; + vec4[3] c[] + + // Implicitly size b to match a. + b[0][2] = vec4(1.0); + b[1][2] = vec4(1.0); + + // Implicitly size c to match a. + c[0][2] = vec4(1.0); + c[1][2] = vec4(1.0); + + gl_Position = vec4(float(a == b), float(b == c), 0, 1); +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/equal-mismatched-size.vert b/tests/spec/arb_arrays_of_arrays/compiler/equal-mismatched-size.vert new file mode 100644 index 0000000..52591cc --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/equal-mismatched-size.vert @@ -0,0 +1,23 @@ +/* [config] + * expect_result: fail + * glsl_version: 1.20 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + * + * From page 35 (page 41 of the PDF) of the GLSL 1.20 spec: + * + * "The equality operators and assignment operator are only allowed if the + * two operands are same size and type....Both array operands must be + * explicitly sized. When using the equality operators ... two arrays are + * equal if and only if all the elements are element-wise equal. + */ +#version 120 +#extension GL_ARB_arrays_of_arrays: enable + +uniform vec4 a[2][3]; +uniform vec4 b[3][2]; // Note the differing size + +void main() +{ + gl_Position = vec4(a == b); +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/equal.vert b/tests/spec/arb_arrays_of_arrays/compiler/equal.vert new file mode 100644 index 0000000..31daf43 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/equal.vert @@ -0,0 +1,24 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.20 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + * + * From page 35 (page 41 of the PDF) of the GLSL 1.20 spec: + * + * "The equality operators and assignment operator are only allowed if the + * two operands are same size and type....Both array operands must be + * explicitly sized. When using the equality operators ... two arrays are + * equal if and only if all the elements are element-wise equal. + */ +#version 120 +#extension GL_ARB_arrays_of_arrays: enable + +uniform vec4 a[2][3]; +uniform vec4 b[2][3]; +uniform vec4[3] c[2]; + +void main() +{ + gl_Position = vec4(float(a == b), float(b == c), 0, 1); +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-array-array-var.vert b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-array-array-var.vert new file mode 100644 index 0000000..8c83f69 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-array-array-var.vert @@ -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 + +attribute vec4 vert; + +void foo(vec4[3][2] x); + +void main() +{ + vec4 y[3][2]; + foo(y); + gl_Position = vert; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-array-var-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-array-var-array.vert new file mode 100644 index 0000000..b003ed5 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-array-var-array.vert @@ -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 + +attribute vec4 vert; + +void foo(vec4 [2] x[4]); + +void main() +{ + vec4 y[4][2]; + foo(y); + gl_Position = vert; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-var-array-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-var-array-array.vert new file mode 100644 index 0000000..088a9cc --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-declaration-var-array-array.vert @@ -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 + +attribute vec4 vert; + +void foo(vec4 x[2][3]); + +void main() +{ + vec4 y[2][3]; + foo(y); + gl_Position = vert; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-array-array-var.vert b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-array-array-var.vert new file mode 100644 index 0000000..12043db --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-array-array-var.vert @@ -0,0 +1,22 @@ +/* [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 + +attribute vec4 vert; + +void foo(vec4[3][2] x) +{ + gl_Position = vert; +} + +void main() +{ + vec4 y[3][2]; + foo(y); + gl_Position = vert; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-array-var-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-array-var-array.vert new file mode 100644 index 0000000..63cf860 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-array-var-array.vert @@ -0,0 +1,22 @@ +/* [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 + +attribute vec4 vert; + +void foo(vec4 [2] x[2]) +{ + gl_Position = vert; +} + +void main() +{ + vec4 y[2][2]; + foo(y); + gl_Position = vert; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-var-array-array.vert b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-var-array-array.vert new file mode 100644 index 0000000..f8ba53b --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-definition-var-array-array.vert @@ -0,0 +1,22 @@ +/* [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 + +attribute vec4 vert; + +void foo(vec4 x[2][3]) +{ + gl_Position = vert; +} + +void main() +{ + vec4 y[2][3]; + foo(y); + gl_Position = vert; +} diff --git a/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-unsized.vert b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-unsized.vert new file mode 100644 index 0000000..28af069 --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/function-parameter-unsized.vert @@ -0,0 +1,22 @@ +/* [config] + * expect_result: fail + * glsl_version: 1.20 + * require_extensions: GL_ARB_arrays_of_arrays + * [end config] + * + * From page 19 (page 25 of the PDF) of the GLSL 1.20 spec: + * + * "Arrays declared as formal parameters in a function declaration + * must specify a size." + */ +#version 120 +#extension GL_ARB_arrays_of_arrays: enable + +vec4 a_function(vec4 [][6] p); + +uniform vec4 [9][6] an_array; + +void main() +{ + gl_Position = a_function(an_array); +}