nir/lower_io: Add support for nir_var_mem_global
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Karol Herbst <kherbst@redhat.com>
This commit is contained in:
parent
314d2c90c3
commit
5f5503d498
|
@ -676,6 +676,10 @@ build_explicit_io_load(nir_builder *b, nir_intrinsic_instr *intrin,
|
||||||
else
|
else
|
||||||
op = nir_intrinsic_load_ssbo;
|
op = nir_intrinsic_load_ssbo;
|
||||||
break;
|
break;
|
||||||
|
case nir_var_mem_global:
|
||||||
|
assert(addr_format_is_global(addr_format));
|
||||||
|
op = nir_intrinsic_load_global;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
unreachable("Unsupported explicit IO variable mode");
|
unreachable("Unsupported explicit IO variable mode");
|
||||||
}
|
}
|
||||||
|
@ -722,6 +726,10 @@ build_explicit_io_store(nir_builder *b, nir_intrinsic_instr *intrin,
|
||||||
else
|
else
|
||||||
op = nir_intrinsic_store_ssbo;
|
op = nir_intrinsic_store_ssbo;
|
||||||
break;
|
break;
|
||||||
|
case nir_var_mem_global:
|
||||||
|
assert(addr_format_is_global(addr_format));
|
||||||
|
op = nir_intrinsic_store_global;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
unreachable("Unsupported explicit IO variable mode");
|
unreachable("Unsupported explicit IO variable mode");
|
||||||
}
|
}
|
||||||
|
@ -767,6 +775,10 @@ build_explicit_io_atomic(nir_builder *b, nir_intrinsic_instr *intrin,
|
||||||
else
|
else
|
||||||
op = ssbo_atomic_for_deref(intrin->intrinsic);
|
op = ssbo_atomic_for_deref(intrin->intrinsic);
|
||||||
break;
|
break;
|
||||||
|
case nir_var_mem_global:
|
||||||
|
assert(addr_format_is_global(addr_format));
|
||||||
|
op = global_atomic_for_deref(intrin->intrinsic);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
unreachable("Unsupported explicit IO variable mode");
|
unreachable("Unsupported explicit IO variable mode");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue