Add cases for structs as inout and out parameters.
authorKenneth Russell <kbr@google.com>
Mon, 23 Jul 2018 22:26:47 +0000 (15:26 -0700)
committerChris Forbes <chrisforbes@google.com>
Sat, 25 Aug 2018 02:22:56 +0000 (19:22 -0700)
commite9540af222207aa0d6c810f1f25f213db5bd68a2
tree3b17df237550157e7c68134e4f203b8edef7b2b8
parent69740b4570dd47d652d6ccd7c8d94d5b0ef43aee
Add cases for structs as inout and out parameters.

Structs with lowp, mediump and highp (when supported in fragment
shaders) members are tested as inout and out parameters in both ES 2.0
and 3.0 shaders.

The highp variant of this test catches a bug which was found by the
Three.js community in https://github.com/mrdoob/three.js/issues/14137 .
Similar tests were integrated into the WebGL conformance suite in
https://github.com/KhronosGroup/WebGL/pull/2663 .

Verified on:
  Qualcomm Adreno 308 (LG Aristo) - bug reproduces in both ES2 and ES3
                                    highp fragment shaders
  Qualcomm Adreno 540 (Pixel 2),
  NVIDIA Tegra (SHIELD Tablet) - all tests pass

New tests:

dEQP-GLES[23].functional.shaders.struct.local.parameter_inout_*
dEQP-GLES[23].functional.shaders.struct.local.parameter_out_*

VK-GL-CTS Issue 1280

Change-Id: Ie332aede0ad52453815d9e123145ec035009430b
(cherry picked from commit 3b0365b1a090c4e15f72b2cb877ee15f65c8befe)
android/cts/master/gles2-master.txt
android/cts/master/gles3-master.txt
external/openglcts/data/mustpass/gles/aosp_mustpass/master/gles2-master.txt
external/openglcts/data/mustpass/gles/aosp_mustpass/master/gles3-master.txt
modules/gles2/functional/es2fShaderStructTests.cpp
modules/gles3/functional/es3fShaderStructTests.cpp