summaryrefslogtreecommitdiff
path: root/src/glsl/ir.cpp
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-07-21 15:54:15 -0700
committerKenneth Graunke <kenneth@whitecape.org>2010-07-28 15:46:26 -0700
commitee9a3a51b61f0afe75b4b8b0c3025310140437ec (patch)
treee314dbfda4aa77b54675dfb07377d77a8b6e63a9 /src/glsl/ir.cpp
parent0c7b37c8367e72e7b4295cd249561e5c3079d161 (diff)
glsl2: Add new ir_constant::zero static method.
This conveniently creates a zero value of whatever type you want.
Diffstat (limited to 'src/glsl/ir.cpp')
-rw-r--r--src/glsl/ir.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp
index c75d560c48..bb58d95624 100644
--- a/src/glsl/ir.cpp
+++ b/src/glsl/ir.cpp
@@ -326,6 +326,18 @@ ir_constant::ir_constant(const struct glsl_type *type, exec_list *value_list)
}
}
+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
{