<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
+ <TestCase name="custom">
+ <Test name="continue_in_fragment_for_loop">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
</TestSuite>
<TestSuite name="operator">
<TestSuite name="unary_operator">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
+ <TestCase name="custom">
+ <Test name="continue_in_fragment_for_loop">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
</TestSuite>
<TestSuite name="operator">
<TestSuite name="unary_operator">
dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.conditional_body_fragment
dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.function_call_return_fragment
dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.function_call_inout_fragment
+dEQP-GLES2.functional.shaders.loops.custom.continue_in_fragment_for_loop
dEQP-GLES2.functional.shaders.operator.unary_operator.plus.lowp_float_vertex
dEQP-GLES2.functional.shaders.operator.unary_operator.plus.lowp_float_fragment
dEQP-GLES2.functional.shaders.operator.unary_operator.plus.mediump_float_vertex
dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations.nested_tricky_dataflow_1_fragment
dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations.nested_tricky_dataflow_2_vertex
dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations.nested_tricky_dataflow_2_fragment
+dEQP-GLES3.functional.shaders.loops.custom.continue_in_fragment_for_loop
dEQP-GLES3.functional.shaders.operator.unary_operator.plus.lowp_float_vertex
dEQP-GLES3.functional.shaders.operator.unary_operator.plus.lowp_float_fragment
dEQP-GLES3.functional.shaders.operator.unary_operator.plus.mediump_float_vertex
--- /dev/null
+group custom "Custom loop tests"
+
+ case continue_in_fragment_for_loop
+ vertex ""
+ void main()
+ {
+ }
+ ""
+ fragment ""
+ void main()
+ {
+ int count1 = 0;
+ for(int i=0;i<4;i++)
+ {
+ if (count1 == 2)
+ continue;
+ }
+ gl_FragColor = vec4(1.0);
+ }
+ ""
+ end
+
+end # custom
--- /dev/null
+group custom "Custom loop tests"
+
+ case continue_in_fragment_for_loop
+ version 300 es
+ vertex ""
+ #version 300 es
+ ${VERTEX_DECLARATIONS}
+ void main()
+ {
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 300 es
+ ${FRAGMENT_DECLARATIONS}
+ void main()
+ {
+ int count1 = 0;
+ for(int i=0;i<4;i++)
+ {
+ if (count1 == 2)
+ continue;
+ }
+ ${FRAG_COLOR} = vec4(1.0);
+ }
+ ""
+ end
+
+end # custom
*//*--------------------------------------------------------------------*/
#include "es2fShaderLoopTests.hpp"
+#include "glsShaderLibrary.hpp"
#include "glsShaderRenderCase.hpp"
#include "gluShaderUtil.hpp"
#include "tcuStringTemplate.hpp"
}
}
}
+
+ // Additional smaller handwritten tests.
+ const std::vector<tcu::TestNode*> children = gls::ShaderLibrary(m_context.getTestContext(), m_context.getRenderContext(), m_context.getContextInfo()).loadShaderFile("shaders/loops.test");
+ for (int i = 0; i < (int)children.size(); i++)
+ addChild(children[i]);
}
} // Functional
*//*--------------------------------------------------------------------*/
#include "es3fShaderLoopTests.hpp"
+#include "glsShaderLibrary.hpp"
#include "glsShaderRenderCase.hpp"
#include "gluShaderUtil.hpp"
#include "tcuStringTemplate.hpp"
}
}
}
+
+ // Additional smaller handwritten tests.
+ const std::vector<tcu::TestNode*> children = gls::ShaderLibrary(m_context.getTestContext(), m_context.getRenderContext(), m_context.getContextInfo()).loadShaderFile("shaders/loops.test");
+ for (int i = 0; i < (int)children.size(); i++)
+ addChild(children[i]);
}
} // Functional