bi: Execute nir_opt_algebraic after nir_lower_pack

nir_lower_pack can generate split operations, execute algebraic again
to handle them.

This fix an assert on
"dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_float16" and
probably others tests.

Fixes: 3904cfabd6 ("bi: Use nir_opt_load_store_vectorize")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32131>
This commit is contained in:
Mary Guillemard
2024-11-14 09:47:04 +01:00
parent 98cff2e098
commit e5d64ca69c

View File

@@ -4832,6 +4832,10 @@ bi_optimize_nir(nir_shader *nir, unsigned gpu_id, bool is_blend)
});
NIR_PASS(progress, nir, nir_lower_pack);
/* nir_lower_pack can generate split operations, execute algebraic again to
* handle them */
NIR_PASS(progress, nir, nir_opt_algebraic);
/* TODO: Why is 64-bit getting rematerialized?
* KHR-GLES31.core.shader_image_load_store.basic-allTargets-atomicFS */
NIR_PASS(progress, nir, nir_lower_int64);