i965: Use UniformBooleanTrue value for boolean literal true.

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
Matt Turner 2014-08-08 19:44:22 -07:00
parent 9e2e7c7dc0
commit 2a6b6621d8
2 changed files with 6 additions and 2 deletions

View file

@ -2209,7 +2209,9 @@ fs_visitor::visit(ir_constant *ir)
emit(MOV(dst_reg, fs_reg(ir->value.i[i])));
break;
case GLSL_TYPE_BOOL:
emit(MOV(dst_reg, fs_reg((int)ir->value.b[i])));
emit(MOV(dst_reg,
fs_reg(ir->value.b[i] != 0 ? ctx->Const.UniformBooleanTrue
: 0)));
break;
default:
unreachable("Non-float/uint/int/bool constant");

View file

@ -2231,7 +2231,9 @@ vec4_visitor::emit_constant_values(dst_reg *dst, ir_constant *ir)
emit(MOV(*dst, src_reg(ir->value.u[i])));
break;
case GLSL_TYPE_BOOL:
emit(MOV(*dst, src_reg(ir->value.b[i])));
emit(MOV(*dst,
src_reg(ir->value.b[i] != 0 ? ctx->Const.UniformBooleanTrue
: 0)));
break;
default:
unreachable("Non-float/uint/int/bool constant");