radv: fix conditions for running nir_opt_vectorize

No fossil-db changes, probably because all fp16 shaders have at least one
16-bit mov or vec2 somehwere.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10227>
This commit is contained in:
Rhys Perry
2021-04-14 10:18:17 +01:00
committed by Marge Bot
parent 271c18f48e
commit e3ebc1ca4b

View File

@@ -3375,9 +3375,10 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_device *device,
if (device->physical_device->rad_info.chip_class >= GFX8)
nir_opt_remove_phis(nir[i]); /* cleanup LCSSA phis */
if (device->physical_device->rad_info.chip_class >= GFX9)
NIR_PASS_V(nir[i], nir_opt_vectorize, opt_vectorize_callback, NULL);
}
if (((nir[i]->info.bit_sizes_int | nir[i]->info.bit_sizes_float) & 16) &&
device->physical_device->rad_info.chip_class >= GFX9)
NIR_PASS_V(nir[i], nir_opt_vectorize, opt_vectorize_callback, NULL);
/* cleanup passes */
nir_lower_load_const_to_scalar(nir[i]);