aco: don't vectorize 8/16bit load/store_ssbo

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4002>
This commit is contained in:
Daniel Schürmann 2020-02-25 11:52:08 +01:00
parent 0bb3537676
commit d223e4e8de

View file

@ -706,9 +706,14 @@ mem_vectorize_callback(unsigned align, unsigned bit_size,
return false;
switch (low->intrinsic) {
case nir_intrinsic_load_ubo:
case nir_intrinsic_load_ssbo:
case nir_intrinsic_store_ssbo:
if (low->src[0].ssa->bit_size < 32 || high->src[0].ssa->bit_size < 32)
return false;
return align % 4 == 0;
case nir_intrinsic_load_ssbo:
if (low->dest.ssa.bit_size < 32 || high->dest.ssa.bit_size < 32)
return false;
case nir_intrinsic_load_ubo:
case nir_intrinsic_load_push_constant:
return align % 4 == 0;
case nir_intrinsic_load_deref: