diff --git a/src/gallium/drivers/i915/ci/deqp-i915-g33-fails.txt b/src/gallium/drivers/i915/ci/deqp-i915-g33-fails.txt index 5db672fd98d..c7c219958d3 100644 --- a/src/gallium/drivers/i915/ci/deqp-i915-g33-fails.txt +++ b/src/gallium/drivers/i915/ci/deqp-i915-g33-fails.txt @@ -50,10 +50,6 @@ dEQP-GLES2.functional.rasterization.primitives.lines_wide,Fail # https://gitlab.freedesktop.org/mesa/mesa/-/issues/4980 dEQP-GLES2.functional.shaders.builtin_variable.frontfacing,Fail -dEQP-GLES2.functional.shaders.discard.dynamic_loop_always,Fail -dEQP-GLES2.functional.shaders.discard.dynamic_loop_dynamic,Fail -dEQP-GLES2.functional.shaders.discard.dynamic_loop_texture,Fail -dEQP-GLES2.functional.shaders.discard.dynamic_loop_uniform,Fail dEQP-GLES2.functional.shaders.discard.function_static_loop_always,Fail dEQP-GLES2.functional.shaders.discard.function_static_loop_dynamic,Fail dEQP-GLES2.functional.shaders.discard.function_static_loop_texture,Fail @@ -66,295 +62,80 @@ dEQP-GLES2.functional.shaders.functions.control_flow.mixed_return_break_continue dEQP-GLES2.functional.shaders.functions.control_flow.return_after_break_fragment,Fail dEQP-GLES2.functional.shaders.functions.control_flow.return_after_continue_fragment,Fail dEQP-GLES2.functional.shaders.functions.control_flow.return_after_loop_fragment,Fail -dEQP-GLES2.functional.shaders.functions.control_flow.return_after_loop_sequence_fragment,Fail dEQP-GLES2.functional.shaders.functions.control_flow.return_in_loop_if_fragment,Fail dEQP-GLES2.functional.shaders.functions.control_flow.return_in_nested_loop_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_static_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_static_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_static_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_static_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_static_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_static_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_dynamic_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_dynamic_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_dynamic_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_static_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_static_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.uniform_array.float_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.uniform_array.float_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_dynamic_loop_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_static_loop_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_loop_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_loop_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_loop_write_dynamic_loop_read,Fail dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_loop_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_write_dynamic_loop_read,Fail dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_loop_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_loop_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_loop_write_dynamic_loop_read,Fail dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_loop_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_write_dynamic_loop_read,Fail dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_loop_read,Fail dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_loop_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_write_dynamic_loop_read,Fail dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_write_dynamic_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_loop_write_dynamic_loop_read,Fail dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_loop_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_write_dynamic_loop_read,Fail dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_write_static_loop_read,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_component_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_direct_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_dynamic_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_static_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_dynamic_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_static_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_component_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_direct_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_dynamic_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_dynamic_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_static_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_static_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_component_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_direct_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_dynamic_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_static_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_static_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_component_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_direct_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_dynamic_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_dynamic_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_static_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_static_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_component_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_direct_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_dynamic_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_static_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_component_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_direct_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_dynamic_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_static_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_static_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_component_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_direct_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_dynamic_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_dynamic_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_static_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_static_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_dynamic_loop_subscript_read_fragment,Fail dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_static_loop_subscript_read_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.101_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.compound_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.conditional_body_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.conditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.double_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.function_call_inout_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.function_call_return_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.infinite_with_conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.mixed_break_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.nested_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.nested_sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.nested_tricky_dataflow_1_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.nested_tricky_dataflow_2_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.post_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.pre_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.select_iteration_count_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.sequence_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.single_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.unconditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.vector_counter_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.101_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.basic_highp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.basic_highp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.basic_lowp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.basic_lowp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.basic_mediump_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.basic_mediump_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.compound_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.conditional_body_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.conditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.double_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.function_call_inout_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.function_call_return_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.infinite_with_conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.mixed_break_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.nested_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.nested_sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.nested_tricky_dataflow_1_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.nested_tricky_dataflow_2_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.post_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.pre_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.select_iteration_count_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.sequence_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.single_iteration_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.single_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.unconditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.vector_counter_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.101_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.basic_highp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.basic_highp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.basic_lowp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.basic_lowp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.basic_mediump_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.basic_mediump_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.compound_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.conditional_body_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.conditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.double_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.function_call_inout_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.function_call_return_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.infinite_with_conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.mixed_break_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.nested_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.nested_sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.nested_tricky_dataflow_1_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.nested_tricky_dataflow_2_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.post_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.pre_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.select_iteration_count_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.sequence_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.single_iteration_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.single_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.unconditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.do_while_uniform_iterations.vector_counter_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.101_iterations_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_highp_float_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_highp_int_fragment,Fail @@ -369,7 +150,6 @@ dEQP-GLES2.functional.shaders.loops.for_constant_iterations.conditional_continue dEQP-GLES2.functional.shaders.loops.for_constant_iterations.double_continue_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.function_call_inout_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.function_call_return_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_constant_iterations.infinite_with_conditional_break_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.mixed_break_continue_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_sequence_fragment,Fail @@ -378,163 +158,10 @@ dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_tricky_datafl dEQP-GLES2.functional.shaders.loops.for_constant_iterations.no_iterations_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.post_increment_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.pre_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_constant_iterations.select_iteration_count_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_constant_iterations.sequence_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.sequence_statement_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.single_iteration_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.single_statement_fragment,Fail dEQP-GLES2.functional.shaders.loops.for_constant_iterations.unconditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_constant_iterations.vector_counter_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.101_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.basic_highp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.basic_highp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.basic_lowp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.basic_lowp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.basic_mediump_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.basic_mediump_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.compound_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.conditional_body_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.conditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.double_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.function_call_inout_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.function_call_return_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.infinite_with_conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.mixed_break_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.nested_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.nested_sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.nested_tricky_dataflow_1_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.nested_tricky_dataflow_2_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.no_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.post_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.pre_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.select_iteration_count_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.sequence_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.single_iteration_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.single_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.unconditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.vector_counter_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.101_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_highp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_highp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_lowp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_lowp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_mediump_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_mediump_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.compound_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.conditional_body_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.conditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.double_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.function_call_inout_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.function_call_return_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.infinite_with_conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.mixed_break_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.nested_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.nested_sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.nested_tricky_dataflow_1_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.nested_tricky_dataflow_2_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.no_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.post_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.pre_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.select_iteration_count_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.sequence_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.single_iteration_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.single_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.unconditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.vector_counter_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.101_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.basic_highp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.basic_highp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.basic_lowp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.basic_lowp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.basic_mediump_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.basic_mediump_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.compound_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.conditional_body_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.conditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.double_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.function_call_inout_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.function_call_return_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.infinite_with_conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.mixed_break_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.nested_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.nested_sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.nested_tricky_dataflow_1_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.nested_tricky_dataflow_2_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.no_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.post_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.pre_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.select_iteration_count_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.sequence_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.single_iteration_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.single_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.unconditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_constant_iterations.vector_counter_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.101_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.basic_highp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.basic_highp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.basic_lowp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.basic_lowp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.basic_mediump_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.basic_mediump_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.compound_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.conditional_body_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.conditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.double_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.function_call_inout_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.function_call_return_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.infinite_with_conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.mixed_break_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.nested_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.nested_sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.nested_tricky_dataflow_1_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.nested_tricky_dataflow_2_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.no_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.post_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.pre_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.select_iteration_count_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.sequence_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.single_iteration_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.single_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.unconditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.vector_counter_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.101_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.basic_highp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.basic_highp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.basic_lowp_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.basic_lowp_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.basic_mediump_float_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.basic_mediump_int_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.compound_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.conditional_body_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.conditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.double_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.function_call_inout_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.function_call_return_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.infinite_with_conditional_break_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.mixed_break_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.nested_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.nested_sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.nested_tricky_dataflow_1_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.nested_tricky_dataflow_2_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.no_iterations_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.post_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.pre_increment_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.select_iteration_count_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.sequence_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.sequence_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.single_iteration_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.single_statement_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.unconditional_continue_fragment,Fail -dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.vector_counter_fragment,Fail dEQP-GLES2.functional.shaders.random.all_features.fragment.22,Fail dEQP-GLES2.functional.shaders.random.all_features.fragment.32,Fail dEQP-GLES2.functional.shaders.random.all_features.fragment.34,Fail @@ -553,21 +180,13 @@ dEQP-GLES2.functional.shaders.random.trigonometric.fragment.42,Fail dEQP-GLES2.functional.shaders.random.trigonometric.fragment.45,Fail dEQP-GLES2.functional.shaders.random.trigonometric.fragment.52,Fail dEQP-GLES2.functional.shaders.random.trigonometric.fragment.81,Fail -dEQP-GLES2.functional.shaders.return.return_in_dynamic_loop_dynamic_fragment,Fail -dEQP-GLES2.functional.shaders.return.return_in_dynamic_loop_never_fragment,Fail dEQP-GLES2.functional.shaders.return.return_in_static_loop_dynamic_fragment,Fail dEQP-GLES2.functional.shaders.return.return_in_static_loop_never_fragment,Fail -dEQP-GLES2.functional.shaders.struct.local.dynamic_loop_assignment_fragment,Fail -dEQP-GLES2.functional.shaders.struct.local.dynamic_loop_nested_struct_array_fragment,Fail -dEQP-GLES2.functional.shaders.struct.local.dynamic_loop_struct_array_fragment,Fail dEQP-GLES2.functional.shaders.struct.local.loop_assignment_fragment,Fail dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_fragment,Fail dEQP-GLES2.functional.shaders.struct.local.loop_struct_array_fragment,Fail -dEQP-GLES2.functional.shaders.struct.local.nested_dynamic_loop_assignment_fragment,Fail dEQP-GLES2.functional.shaders.struct.local.nested_loop_assignment_fragment,Fail dEQP-GLES2.functional.shaders.struct.local.nested_struct_array_dynamic_index_fragment,Fail -dEQP-GLES2.functional.shaders.struct.uniform.dynamic_loop_nested_struct_array_fragment,Fail -dEQP-GLES2.functional.shaders.struct.uniform.dynamic_loop_struct_array_fragment,Fail dEQP-GLES2.functional.shaders.struct.uniform.loop_nested_struct_array_fragment,Fail dEQP-GLES2.functional.shaders.struct.uniform.loop_struct_array_fragment,Fail dEQP-GLES2.functional.shaders.struct.uniform.nested_struct_array_dynamic_index_fragment,Fail @@ -610,8 +229,6 @@ dEQP-GLES2.functional.texture.wrap.clamp_clamp_nearest_npot_etc1,Fail dEQP-GLES2.functional.uniform_api.random.13,Fail dEQP-GLES2.functional.uniform_api.random.20,Fail -dEQP-GLES2.functional.uniform_api.random.21,Fail -dEQP-GLES2.functional.uniform_api.random.24,Fail dEQP-GLES2.functional.uniform_api.random.54,Fail dEQP-GLES2.functional.uniform_api.random.71,Fail dEQP-GLES2.functional.uniform_api.random.74,Fail @@ -619,7 +236,6 @@ dEQP-GLES2.functional.uniform_api.random.80,Fail dEQP-GLES2.functional.uniform_api.random.81,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.mat4_mat2_both,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.mat4_mat2_fragment,Fail -dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_both,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_fragment,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_array.mat4_both,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic_array.mat4_fragment,Fail @@ -628,7 +244,6 @@ dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_nest dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.mat4_mat2_fragment,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.mat4_mat2_both,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array.mat4_mat2_fragment,Fail -dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_both,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_fragment,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.multiple_nested_structs_arrays.both,Fail dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.multiple_nested_structs_arrays.fragment,Fail diff --git a/src/gallium/drivers/i915/ci/piglit-i915-g33-fails.txt b/src/gallium/drivers/i915/ci/piglit-i915-g33-fails.txt index fb3fdca8ab4..90381f8baf9 100644 --- a/src/gallium/drivers/i915/ci/piglit-i915-g33-fails.txt +++ b/src/gallium/drivers/i915/ci/piglit-i915-g33-fails.txt @@ -22,9 +22,13 @@ shaders@glsl-fwidth,Fail shaders@glsl-max-varyings,Fail shaders@glsl-max-varyings >max_varying_components,Fail + +# Failed to link: error: looping not supported i915 fragment shaders, all loops must be statically unrollable. +# and then the test assertion fails setting up its uniforms (if piglit is built with assertions, which CI doesn't). shaders@glsl-uniform-interstage-limits@520 vs- 1 fs,Fail shaders@glsl-uniform-interstage-limits@subdivide 5,Fail shaders@glsl-uniform-interstage-limits@subdivide 5- statechanges,Fail + shaders@ssa@fs-if-def-else-break,Fail shaders@ssa@fs-lost-copy-problem,Fail shaders@ssa@fs-swap-problem,Fail @@ -362,6 +366,10 @@ spec@arb_texture_rectangle@texwrap rect proj bordercolor@GL_RGBA8- projected- bo spec@arb_texture_storage@texture-storage,Fail spec@arb_texture_storage@texture-storage@2D mipmap rendering ,Fail +# test checks for required ext (which we don't have) after compiling the shader +# that uses dynamic loops +spec@arb_timer_query@query gl_timestamp,Fail + # "Probe color at (68,68) # Left: 0.784314 1.000000 1.000000 1.000000 # Right: 0.800000 1.000000 1.000000 1.000000 @@ -588,6 +596,10 @@ spec@ext_texture_srgb@texwrap formats-s3tc bordercolor@GL_COMPRESSED_SRGB_ALPHA_ spec@ext_texture_srgb@texwrap formats-s3tc bordercolor@GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT- border color only,Fail spec@ext_texture_srgb@texwrap formats-s3tc bordercolor@GL_COMPRESSED_SRGB_S3TC_DXT1_EXT- border color only,Fail +# test checks for required ext (which we don't have) after compiling the shader +# that uses dynamic loops +spec@ext_timer_query@time-elapsed,Fail + spec@glsl-1.10@execution@built-in-functions@fs-atan-vec3-vec3,Fail spec@glsl-1.10@execution@built-in-functions@fs-atan-vec4-vec4,Fail spec@glsl-1.10@execution@built-in-functions@fs-degrees-float,Fail @@ -815,6 +827,12 @@ spec@glsl-1.10@execution@interpolation@interpolation-none-gl_frontsecondarycolor spec@glsl-1.10@execution@loops@glsl-fs-continue-inside-do-while,Fail spec@glsl-1.10@execution@loops@glsl-fs-loop-300,Fail spec@glsl-1.10@execution@loops@glsl-fs-loop-break,Fail + +# error: looping not supported i915 fragment shaders, all loops must be statically unrollable. +# but it's a static 0-10 loop and should unroll. +spec@glsl-1.10@execution@loops@glsl-fs-loop-const-decr,Fail +spec@glsl-1.10@execution@loops@glsl-fs-loop-const-incr,Fail + spec@glsl-1.10@execution@loops@glsl-fs-loop-continue,Fail spec@glsl-1.10@execution@loops@glsl-fs-loop-ge,Fail spec@glsl-1.10@execution@loops@glsl-fs-loop-gt,Fail @@ -904,6 +922,11 @@ spec@glsl-1.10@execution@varying-packing@simple vec3 separate,Fail spec@glsl-1.10@execution@varying-packing@simple vec4 array,Fail spec@glsl-1.10@execution@varying-packing@simple vec4 separate,Fail spec@glsl-1.20@compiler@invalid-vec4-array-to-vec3-array-conversion.vert,Fail + +# error: looping not supported i915 fragment shaders, all loops must be statically unrollable. +# but it's a static 0-4 loop and should unroll. +spec@glsl-1.10@linker@fs-loop-unrolled-divide-by-zero,Fail + spec@glsl-1.20@execution@built-in-functions@fs-matrixcompmult-mat2x3-mat2x3,Fail spec@glsl-1.20@execution@built-in-functions@fs-matrixcompmult-mat2x4-mat2x4,Fail spec@glsl-1.20@execution@built-in-functions@fs-matrixcompmult-mat3x2-mat3x2,Fail diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index 05bd89eb360..e08c6d056a9 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -211,6 +211,28 @@ i915_optimize_nir(struct nir_shader *s) NULL); } +static char *i915_check_control_flow(nir_shader *s) +{ + if (s->info.stage == MESA_SHADER_FRAGMENT) { + nir_function_impl *impl = nir_shader_get_entrypoint(s); + nir_block *first = nir_start_block(impl); + nir_cf_node *next = nir_cf_node_next(&first->cf_node); + + if (next) { + switch (next->type) { + case nir_cf_node_if: + return "if/then statements not supported by i915 fragment shaders, should have been flattened by peephole_select."; + case nir_cf_node_loop: + return "looping not supported i915 fragment shaders, all loops must be statically unrollable."; + default: + return "Unknown control flow type"; + } + } + } + + return NULL; +} + static char * i915_finalize_nir(struct pipe_screen *pscreen, void *nir) { @@ -238,6 +260,10 @@ i915_finalize_nir(struct pipe_screen *pscreen, void *nir) nir_sweep(s); + char *msg = i915_check_control_flow(s); + if (msg) + return strdup(msg); + return NULL; }