mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 22:18:13 +02:00
i915g: Reject non-unrolled loops or non-flattend IFs at link time.
i915 has no support for control flow, so we need to link-fail shaders that fail to unrooll loops. This is valid for GLES2, and non-conformant but the best we can do for GL2. Note that we still have some dEQP failures where loops that should be unrollable and thus are required to be supported don't get unrolled (#4979). Closes: #4978 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12218>
This commit is contained in:
parent
17332ceb0f
commit
c993f02f6a
3 changed files with 49 additions and 385 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue