-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 11/15/2010 05:48 PM, Brian Paul wrote:
> case ir_unop_b2f: > assert(op[0]->type->base_type == GLSL_TYPE_BOOL); > for (unsigned c = 0; c < op[0]->type->components(); c++) { > - data.f[c] = op[0]->value.b[c] ? 1.0 : 0.0; > + data.f[c] = op[0]->value.b[c] ? 1.0F : 0.0F; Please don't do this. This particular MSVC warning should just be disabled. If this warning were generated for non-literals and for literals that actually did lose precision being stored to a float, it might have a chance at having some value. Instead, it's just noise. Individual warnings can be disabled with a pragma, and this one should probably be disabled in mesa/compiler.h: #pragma warning(disable: 4244) There may be a way to do it from the command line, but I don't know what it is. The F suffixes on constants are also worthless, and they make the code ugly. Expecting that they will be added everywhere when no other compiler generates this warning is a losing battle. > } > break; > case ir_unop_f2b: > assert(op[0]->type->base_type == GLSL_TYPE_FLOAT); > for (unsigned c = 0; c < op[0]->type->components(); c++) { > - data.b[c] = bool(op[0]->value.f[c]); > + data.b[c] = op[0]->value.f[c] != 0.0F ? true : false; This warning should also be disabled for the same reason as the above. This one isn't even a correctness warning, is a performance warning. The code that is replacing the case may have even worse performance than the cast! The other changes can stay, but this one needs to be reverted. > } > break; > case ir_unop_b2i: > @@ -163,7 +163,7 @@ ir_expression::constant_expression_value() > case ir_unop_i2b: > assert(op[0]->type->is_integer()); > for (unsigned c = 0; c < op[0]->type->components(); c++) { > - data.b[c] = bool(op[0]->value.u[c]); > + data.b[c] = op[0]->value.u[c] ? true : false; What warning is this? I was unable to reproduce a warning on Visual Studio 2008 Express Edition. I suspect this should be reverted too. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkzi4ZQACgkQX1gOwKyEAw+GGgCgjEJdaEUQCtifgezcJKFKJqki xzgAn1zmI6KrJ3+6lyujiY/IIf0LUE9o =MSjO -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev