Fix bug with printing due to uneven handling of bool types
This commit is contained in:
8
stmt.cpp
8
stmt.cpp
@@ -3003,6 +3003,14 @@ lProcessPrintArg(Expr *expr, FunctionEmitContext *ctx, std::string &argTypes) {
|
||||
return NULL;
|
||||
}
|
||||
else {
|
||||
if (Type::Equal(baseType, AtomicType::UniformBool)) {
|
||||
// Blast bools to ints, but do it here to preserve encoding for
|
||||
// printing 'true' or 'false'
|
||||
expr = new TypeCastExpr(type->IsUniformType() ? AtomicType::UniformInt32 :
|
||||
AtomicType::VaryingInt32,
|
||||
expr, expr->pos);
|
||||
type = expr->GetType();
|
||||
}
|
||||
argTypes.push_back(t);
|
||||
|
||||
llvm::Type *llvmExprType = type->LLVMType(g->ctx);
|
||||
|
||||
Reference in New Issue
Block a user