mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
panfrost/midgard: Lower integer division
We use the shared nir_lower_idiv pass to lower integer division, fixing 144 dEQP tests. This pass was not applied in the past due to breakage from iabs fixed earlier in the series. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-By: Ryan Houdek <Sonicadvance1@gmail.com>
This commit is contained in:
parent
88c59798fe
commit
c51312bc94
2 changed files with 1 additions and 144 deletions
|
|
@ -763,150 +763,6 @@ dEQP-GLES2.functional.shaders.matrix.unary_addition.dynamic_mediump_mat3_fragmen
|
|||
dEQP-GLES2.functional.shaders.matrix.unary_addition.dynamic_mediump_mat3_vertex
|
||||
dEQP-GLES2.functional.shaders.matrix.unary_addition.dynamic_mediump_mat4_fragment
|
||||
dEQP-GLES2.functional.shaders.matrix.unary_addition.dynamic_mediump_mat4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_int_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_int_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_int_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_int_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_int_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_int_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec2_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec2_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec3_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec3_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_int_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_int_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_int_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_int_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_int_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_int_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec2_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec2_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec3_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec3_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_int_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_int_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_int_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_int_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_int_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_int_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec2_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec2_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec3_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec3_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div.mediump_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec2_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec2_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec3_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec3_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.highp_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec2_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec2_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec3_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec3_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.lowp_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec2_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec2_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec3_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec3_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_effect.mediump_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec2_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec2_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec3_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec3_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.highp_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec2_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec2_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec3_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec3_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.lowp_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec2_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec2_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec3_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec3_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.line_2_fragment
|
||||
dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.line_2_vertex
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.0
|
||||
|
|
|
|||
|
|
@ -351,6 +351,7 @@ optimise_nir(nir_shader *nir)
|
|||
|
||||
NIR_PASS(progress, nir, nir_lower_regs_to_ssa);
|
||||
NIR_PASS(progress, nir, midgard_nir_lower_fdot2);
|
||||
NIR_PASS(progress, nir, nir_lower_idiv);
|
||||
|
||||
nir_lower_tex_options lower_tex_options = {
|
||||
.lower_rect = true
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue