dEQP-GLES2.functional.shaders.struct.uniform.sampler_fragment
dEQP-GLES2.functional.shaders.struct.uniform.sampler_nested_vertex
dEQP-GLES2.functional.shaders.struct.uniform.sampler_nested_fragment
+dEQP-GLES2.functional.shaders.struct.uniform.sampler_in_function_arg_vertex
+dEQP-GLES2.functional.shaders.struct.uniform.sampler_in_function_arg_fragment
+dEQP-GLES2.functional.shaders.struct.uniform.sampler_in_array_function_arg_vertex
+dEQP-GLES2.functional.shaders.struct.uniform.sampler_in_array_function_arg_fragment
dEQP-GLES2.functional.shaders.struct.uniform.equal_vertex
dEQP-GLES2.functional.shaders.struct.uniform.equal_fragment
dEQP-GLES2.functional.shaders.struct.uniform.not_equal_vertex
c.color.xyz() = c.texture2D(TEXTURE_BRICK, c.coords.swizzle(0,1) * 0.25f + 0.5f).swizzle(0,1,2);
});
+ UNIFORM_STRUCT_CASE(sampler_in_function_arg, "Sampler in struct as function arg", FLAG_USES_TEXTURES,
+ LineStream()
+ << "${DECLARATIONS}"
+ << ""
+ << "struct S {"
+ << " sampler2D source;"
+ << "};"
+ << ""
+ << "mediump vec4 fun(S s) {"
+ << " return texture2D(s.source, vec2(0.5));"
+ << "}"
+ << ""
+ << "uniform S s;"
+ << "void main (void)"
+ << "{"
+ << " ${DST} = fun(s);"
+ << " ${ASSIGN_POS}"
+ << "}",
+ {
+ DE_UNREF(constCoords);
+ setUniform(gl, programID, "s.source", 0);
+ },
+ {
+ c.color.xyz() = c.texture2D(TEXTURE_BRICK, tcu::Vec2(0.5f, 0.5f)).swizzle(0,1,2);
+ });
+
+ UNIFORM_STRUCT_CASE(sampler_in_array_function_arg, "Sampler in struct as function arg", FLAG_USES_TEXTURES,
+ LineStream()
+ << "${DECLARATIONS}"
+ << ""
+ << "struct S {"
+ << " sampler2D source;"
+ << "};"
+ << ""
+ << "mediump vec4 fun(S s[2]) {"
+ << " return texture2D(s[0].source, vec2(0.5));"
+ << "}"
+ << ""
+ << "uniform S s[2];"
+ << "void main (void)"
+ << "{"
+ << " ${DST} = fun(s);"
+ << " ${ASSIGN_POS}"
+ << "}",
+ {
+ DE_UNREF(constCoords);
+ setUniform(gl, programID, "s[0].source", 0);
+ },
+ {
+ c.color.xyz() = c.texture2D(TEXTURE_BRICK, tcu::Vec2(0.5f, 0.5f)).swizzle(0,1,2);
+ });
+
UNIFORM_STRUCT_CASE(equal, "Struct equality", 0,
LineStream()
<< "${DECLARATIONS}"