X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=external%2Fvulkancts%2Fdata%2Fvulkan%2Fglsl%2Fes310%2Flinkage.test;h=1ce39bbe73bff2f4d165ed987c9cf8a38e2b4cf4;hb=1c6645c3bd548d9db30c8fdab3c62d018ad59cb2;hp=d463062993a7566e340a616ca3fab8a619d024b3;hpb=709042ef92a2d19a67ed95c4e6013ea06f9dee74;p=platform%2Fupstream%2FVK-GL-CTS.git diff --git a/external/vulkancts/data/vulkan/glsl/es310/linkage.test b/external/vulkancts/data/vulkan/glsl/es310/linkage.test index d463062..1ce39bb 100644 --- a/external/vulkancts/data/vulkan/glsl/es310/linkage.test +++ b/external/vulkancts/data/vulkan/glsl/es310/linkage.test @@ -184,7 +184,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mediump float var; void main() @@ -217,7 +217,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in lowp vec2 var; void main() @@ -250,7 +250,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mediump vec4 var; void main() @@ -283,7 +283,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) centroid in mediump float var; void main() @@ -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 highp 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 highp 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" @@ -317,7 +390,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in float var; void main() @@ -348,7 +421,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in vec2 var; void main() @@ -379,7 +452,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in vec3 var; void main() @@ -410,7 +483,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in vec4 var; void main() @@ -441,7 +514,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mat2 var; void main() @@ -472,7 +545,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mat2x3 var; void main() @@ -503,7 +576,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mat2x4 var; void main() @@ -534,7 +607,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mat3x2 var; void main() @@ -565,7 +638,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mat3 var; void main() @@ -596,7 +669,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mat3x4 var; void main() @@ -627,7 +700,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mat4x2 var; void main() @@ -658,7 +731,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mat4x3 var; void main() @@ -689,7 +762,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in mat4 var; void main() @@ -971,7 +1044,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump float a; }; layout(location = 0) in S var; @@ -1004,7 +1077,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump vec2 a; }; layout(location = 0) in S var; @@ -1037,7 +1110,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump vec3 a; }; layout(location = 0) in S var; @@ -1070,7 +1143,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump vec4 a; }; layout(location = 0) in S var; @@ -1103,7 +1176,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump mat2 a; }; layout(location = 0) in S var; @@ -1136,7 +1209,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump mat2x3 a; }; layout(location = 0) in S var; @@ -1169,7 +1242,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump mat2x4 a; }; layout(location = 0) in S var; @@ -1202,7 +1275,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump mat3x2 a; }; layout(location = 0) in S var; @@ -1235,7 +1308,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump mat3 a; }; layout(location = 0) in S var; @@ -1268,7 +1341,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump mat3x4 a; }; layout(location = 0) in S var; @@ -1301,7 +1374,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump mat4x2 a; }; layout(location = 0) in S var; @@ -1334,7 +1407,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump mat4x3 a; }; layout(location = 0) in S var; @@ -1367,7 +1440,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump mat4 a; }; layout(location = 0) in S var; @@ -1667,7 +1740,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump float a; highp vec3 b; }; layout(location = 0) in S var; @@ -1708,7 +1781,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} struct S { mediump float a; highp uvec2 b; highp vec3 c; }; layout(location = 0) flat in S var; @@ -1744,7 +1817,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) smooth in vec4 var; void main() @@ -1775,7 +1848,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) centroid in vec4 var; void main() @@ -1806,7 +1879,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) flat in vec4 var; void main() @@ -1829,7 +1902,7 @@ group varying "Varying linkage" } vertex "" #version 310 es - precision mediump float; + precision highp float; ${VERTEX_DECLARATIONS} layout(location = 0) out float var1; layout(location = 1) out float var2; @@ -1843,7 +1916,7 @@ group varying "Varying linkage" "" fragment "" #version 310 es - precision mediump float; + precision highp float; ${FRAGMENT_DECLARATIONS} layout(location = 0) in float var1; layout(location = 1) in float var2;