glsl: Refactor handling of horizontal operations
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Acked-by: Dylan Baker <dylan@pnwbakers.com>
This commit is contained in:
@@ -365,22 +365,21 @@ class operation(object):
|
|||||||
if self.c_expression is None:
|
if self.c_expression is None:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if self.num_operands == 1:
|
if horizontal_operation in self.flags:
|
||||||
if horizontal_operation in self.flags and non_assign_operation in self.flags:
|
if non_assign_operation in self.flags:
|
||||||
return constant_template_horizontal_nonassignment.render(op=self)
|
return constant_template_horizontal_nonassignment.render(op=self)
|
||||||
elif horizontal_operation in self.flags:
|
elif types_identical_operation in self.flags:
|
||||||
|
return constant_template_horizontal_single_implementation.render(op=self)
|
||||||
|
else:
|
||||||
return constant_template_horizontal.render(op=self)
|
return constant_template_horizontal.render(op=self)
|
||||||
elif self.num_operands == 2:
|
|
||||||
|
if self.num_operands == 2:
|
||||||
if self.name == "mul":
|
if self.name == "mul":
|
||||||
return constant_template_mul.render(op=self)
|
return constant_template_mul.render(op=self)
|
||||||
elif self.name == "vector_extract":
|
elif self.name == "vector_extract":
|
||||||
return constant_template_vector_extract.render(op=self)
|
return constant_template_vector_extract.render(op=self)
|
||||||
elif vector_scalar_operation in self.flags:
|
elif vector_scalar_operation in self.flags:
|
||||||
return constant_template_vector_scalar.render(op=self)
|
return constant_template_vector_scalar.render(op=self)
|
||||||
elif horizontal_operation in self.flags and types_identical_operation in self.flags:
|
|
||||||
return constant_template_horizontal_single_implementation.render(op=self)
|
|
||||||
elif horizontal_operation in self.flags:
|
|
||||||
return constant_template_horizontal.render(op=self)
|
|
||||||
elif self.num_operands == 3:
|
elif self.num_operands == 3:
|
||||||
if self.name == "vector_insert":
|
if self.name == "vector_insert":
|
||||||
return constant_template_vector_insert.render(op=self)
|
return constant_template_vector_insert.render(op=self)
|
||||||
|
Reference in New Issue
Block a user