gallivm: passing fp16_split_fp64 to fp16 lowering.

This causes lavapipe to use the split code and fixes accuracy
for CTS.

Fixes dEQP-VK.glsl.builtin.precision_fconvert.f64_to_f16*

Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27228>
(cherry picked from commit 38e92556a041cc421dadb95aaac43a4619311a87)
This commit is contained in:
Dave Airlie 2024-01-24 17:21:50 +10:00 committed by Eric Engestrom
parent 09bace40bf
commit 2588d3f4b9
2 changed files with 2 additions and 2 deletions

View file

@ -1784,7 +1784,7 @@
"description": "gallivm: passing fp16_split_fp64 to fp16 lowering.",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -2984,7 +2984,7 @@ lp_build_opt_nir(struct nir_shader *nir)
}
NIR_PASS_V(nir, nir_lower_flrp, 16|32|64, true);
NIR_PASS_V(nir, nir_lower_fp16_casts, nir_lower_fp16_all);
NIR_PASS_V(nir, nir_lower_fp16_casts, nir_lower_fp16_all | nir_lower_fp16_split_fp64);
do {
progress = false;
NIR_PASS(progress, nir, nir_opt_constant_folding);