MSL: Use LHS expression to determine whether or not to do array copy.

Makes a difference when using variable pointers.
This commit is contained in:
Hans-Kristian Arntzen 2023-12-06 15:00:56 +01:00
parent e2886f0946
commit ed7ba43062

View File

@ -9863,7 +9863,7 @@ uint32_t CompilerMSL::get_physical_tess_level_array_size(spv::BuiltIn builtin) c
bool CompilerMSL::maybe_emit_array_assignment(uint32_t id_lhs, uint32_t id_rhs) bool CompilerMSL::maybe_emit_array_assignment(uint32_t id_lhs, uint32_t id_rhs)
{ {
// We only care about assignments of an entire array // We only care about assignments of an entire array
auto &type = expression_type(id_rhs); auto &type = expression_type(id_lhs);
if (!type_is_top_level_array(get_pointee_type(type))) if (!type_is_top_level_array(get_pointee_type(type)))
return false; return false;