This conveniently creates a zero value of whatever type you want.
}
}
+ir_constant *
+ir_constant::zero(void *mem_ctx, const glsl_type *type)
+{
+ assert(type->is_numeric());
+
+ ir_constant *c = new(mem_ctx) ir_constant;
+ c->type = type;
+ memset(&c->value, 0, sizeof(c->value));
+
+ return c;
+}
+
bool
ir_constant::get_bool_component(unsigned i) const
{
*/
ir_constant(const ir_constant *c, unsigned i);
+ /**
+ * Return a new ir_constant of the specified type containing all zeros.
+ */
+ static ir_constant *zero(void *mem_ctx, const glsl_type *type);
+
virtual ir_constant *clone(struct hash_table *) const;
virtual ir_constant *constant_expression_value();