Merge \\\"Add tests for varying linking by location\\\" into nyc-dev am: 74079c6d92...
authorPyry Haulos <phaulos@google.com>
Mon, 13 Jun 2016 23:54:50 +0000 (23:54 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Mon, 13 Jun 2016 23:54:50 +0000 (23:54 +0000)
am: 5fe0153604

Change-Id: If173f22bee0286cdcc3d7c1844adfb4b563d21ff

android/cts/master/com.drawelements.deqp.vk.xml
android/cts/master/vk-master.txt
external/vulkancts/data/vulkan/glsl/es310/linkage.test

index 56103c2..065b559 100644 (file)
                                                <Test name="differing_interpolation_2">
                                                        <TestInstance/>
                                                </Test>
+                                               <Test name="differing_name_1">
+                                                       <TestInstance/>
+                                               </Test>
+                                               <Test name="differing_name_2">
+                                                       <TestInstance/>
+                                               </Test>
                                        </TestCase>
                                        <TestCase name="basic_types">
                                                <Test name="float">
index 95f5519..08d74b0 100644 (file)
@@ -65595,6 +65595,8 @@ dEQP-VK.glsl.linkage.varying.rules.differing_precision_1
 dEQP-VK.glsl.linkage.varying.rules.differing_precision_2
 dEQP-VK.glsl.linkage.varying.rules.differing_precision_3
 dEQP-VK.glsl.linkage.varying.rules.differing_interpolation_2
+dEQP-VK.glsl.linkage.varying.rules.differing_name_1
+dEQP-VK.glsl.linkage.varying.rules.differing_name_2
 dEQP-VK.glsl.linkage.varying.basic_types.float
 dEQP-VK.glsl.linkage.varying.basic_types.vec2
 dEQP-VK.glsl.linkage.varying.basic_types.vec3
index d463062..d9a2352 100644 (file)
@@ -294,6 +294,79 @@ group varying "Varying linkage"
                        ""
                end
 
+               # differing name (linking is done by location only in SPIR-V)
+               case differing_name_1
+                       version 310 es
+                       desc "varying declared with matching location but different name"
+                       values
+                       {
+                               input float in0         = [ 2.0 | 5.0 | -3.0 | 4.0 ];
+                               input float in1         = [ 4.0 | 1.0 | -0.5 | 2.0 ];
+                               output float out0       = [ -2.0 | 4.0 | -2.5 | 2.0 ];
+                       }
+
+                       vertex ""
+                               #version 310 es
+                               ${VERTEX_DECLARATIONS}
+                               layout(location = 0) out highp float vtxVarB;
+                               layout(location = 2) out highp float vtxVarA;
+                               void main()
+                               {
+                                       vtxVarA = in0;
+                                       vtxVarB = in1;
+                                       ${VERTEX_OUTPUT}
+                               }
+                       ""
+                       fragment ""
+                               #version 310 es
+                               precision mediump float;
+                               ${FRAGMENT_DECLARATIONS}
+                               layout(location = 2) in highp float fragVarA;
+                               layout(location = 0) in highp float fragVarB;
+                               void main()
+                               {
+                                       out0 = fragVarA - fragVarB;
+                                       ${FRAGMENT_OUTPUT}
+                               }
+                       ""
+               end
+
+               # differing name (linking is done by location only in SPIR-V)
+               case differing_name_2
+                       version 310 es
+                       desc "varying declared with matching location but different name"
+                       values
+                       {
+                               input float in0         = [ 2.0 | 5.0 | -3.0 | 4.0 ];
+                               input float in1         = [ 4.0 | 1.0 | -0.5 | 2.0 ];
+                               output float out0       = [ -2.0 | 4.0 | -2.5 | 2.0 ];
+                       }
+
+                       vertex ""
+                               #version 310 es
+                               ${VERTEX_DECLARATIONS}
+                               layout(location = 0) out highp float varA;
+                               layout(location = 2) out highp float varB;
+                               void main()
+                               {
+                                       varA = in0;
+                                       varB = in1;
+                                       ${VERTEX_OUTPUT}
+                               }
+                       ""
+                       fragment ""
+                               #version 310 es
+                               precision mediump float;
+                               ${FRAGMENT_DECLARATIONS}
+                               layout(location = 2) in highp float varA;
+                               layout(location = 0) in highp float varB;
+                               void main()
+                               {
+                                       out0 = varB - varA;
+                                       ${FRAGMENT_OUTPUT}
+                               }
+                       ""
+               end
        end
 
        group basic_types "Basic varying types"