You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
That's invalid by the SPIR-V spec. The validator briefly had that rule turned on, but some bad Vulkan CTS tests have duplicate scalar type decls that are hard to rewrite, so we turned that rule off.
Example input:
kernel void foo(global uchar4* A) {
*A = (uchar4)(1,2,3,4);
}
Appears to be caused by SPIRVProducerPass::GenerateSPIRVTypes where it says "i8 is added to TypeMap as i32."
The issue is that the Types collection (returned by getTypeList) has entries for i8 and i32. But the i8 will be converted at the last second to an i32. So we end up with duplicate OpTypeInt 32 0.
This is incrementally better than what we have now, but I suspect
we should have remapped the types earlier in the flow, and we should
never see the i8 at this point.
Fixesgoogle#15
That's invalid by the SPIR-V spec. The validator briefly had that rule turned on, but some bad Vulkan CTS tests have duplicate scalar type decls that are hard to rewrite, so we turned that rule off.
Example input:
Appears to be caused by SPIRVProducerPass::GenerateSPIRVTypes where it says "i8 is added to TypeMap as i32."
The issue is that the Types collection (returned by getTypeList) has entries for i8 and i32. But the i8 will be converted at the last second to an i32. So we end up with duplicate OpTypeInt 32 0.
Here's a fragment of the generated assembly:
The text was updated successfully, but these errors were encountered: