mirror of
https://github.com/ziglang/zig.git
synced 2025-12-15 02:33:07 +00:00
spirv: always emit mask constants even if no bits are set
A parameter like this is not always optional, even if that is usually implied. SPIR-V tools fail to parse a module with an OpLoopMerge instruction where the loop control parameter is left out.
This commit is contained in:
parent
255737ea57
commit
cb026c5d59
@ -198,10 +198,6 @@ fn writeExtendedMask(section: *Section, comptime Operand: type, operand: Operand
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mask == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
section.writeWord(mask);
|
section.writeWord(mask);
|
||||||
|
|
||||||
inline for (@typeInfo(Operand).Struct.fields) |field| {
|
inline for (@typeInfo(Operand).Struct.fields) |field| {
|
||||||
@ -304,9 +300,6 @@ fn extendedMaskSize(comptime Operand: type, operand: Operand) usize {
|
|||||||
else => unreachable,
|
else => unreachable,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!any_set) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return total + 1; // Add one for the mask itself.
|
return total + 1; // Add one for the mask itself.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user