diff options
author | Ian Romanick <[email protected]> | 2017-09-07 19:23:51 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2017-09-19 12:02:43 -0500 |
commit | 9ac8fece63a9e980971b0cc894c60a9d8db4037d (patch) | |
tree | 6c4c0a85722e769c3711f1c217abe339d8581d6d /src/compiler/glsl/ir_clone.cpp | |
parent | 0e88153e998b5ba97dee2b143915ba2509217281 (diff) |
glsl: Unify ir_constant::const_elements and ::components
There was no reason to treat array types and record types differently.
Unifying them saves a bunch of code and saves a few bytes in every
ir_constant.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Alejandro PiƱeiro <[email protected]>
Reviewed-by: Elie Tournier <[email protected]>
Diffstat (limited to 'src/compiler/glsl/ir_clone.cpp')
-rw-r--r-- | src/compiler/glsl/ir_clone.cpp | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/src/compiler/glsl/ir_clone.cpp b/src/compiler/glsl/ir_clone.cpp index 114367c8555..12135070892 100644 --- a/src/compiler/glsl/ir_clone.cpp +++ b/src/compiler/glsl/ir_clone.cpp @@ -345,21 +345,7 @@ ir_constant::clone(void *mem_ctx, struct hash_table *ht) const case GLSL_TYPE_IMAGE: return new(mem_ctx) ir_constant(this->type, &this->value); - case GLSL_TYPE_STRUCT: { - ir_constant *c = new(mem_ctx) ir_constant; - - c->type = this->type; - for (const exec_node *node = this->components.get_head_raw() - ; !node->is_tail_sentinel() - ; node = node->next) { - ir_constant *const orig = (ir_constant *) node; - - c->components.push_tail(orig->clone(mem_ctx, NULL)); - } - - return c; - } - + case GLSL_TYPE_STRUCT: case GLSL_TYPE_ARRAY: { ir_constant *c = new(mem_ctx) ir_constant; |