SPV: Continue to fix the issue of bool -> uint32
For short-circuit operator (&& and ||), the conversion is missing.
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 81f7cc1..97739c0 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -3876,7 +3876,7 @@
// emit left operand
builder.clearAccessChain();
left.traverse(this);
- spv::Id leftId = builder.accessChainLoad(spv::NoPrecision, boolTypeId);
+ spv::Id leftId = accessChainLoad(left.getType());
// Operands to accumulate OpPhi operands
std::vector<spv::Id> phiOperands;
@@ -3899,7 +3899,7 @@
// emit right operand as the "then" part of the "if"
builder.clearAccessChain();
right.traverse(this);
- spv::Id rightId = builder.accessChainLoad(spv::NoPrecision, boolTypeId);
+ spv::Id rightId = accessChainLoad(right.getType());
// accumulate left operand's phi information
phiOperands.push_back(rightId);