From 664da2510aa11c5319acad3bd6e96a9504a0b3fc Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 24 Mar 2010 17:53:53 -0700 Subject: [PATCH] Replace several field comparisons with a single pointer comparison The only way the specified type fields can match is if the types are the same. Previous tests (and assertions) have filtered away all other possible cases. --- ast_to_hir.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/ast_to_hir.cpp b/ast_to_hir.cpp index 5fe44ec4697..cb746ed59a9 100644 --- a/ast_to_hir.cpp +++ b/ast_to_hir.cpp @@ -151,10 +151,7 @@ arithmetic_result_type(const struct glsl_type *type_a, * vector." */ if (type_a->is_vector() && type_b->is_vector()) { - if (type_a->vector_elements == type_b->vector_elements) - return type_a; - else - return glsl_error_type; + return (type_a == type_b) ? type_a : glsl_error_type; } /* All of the combinations of , , @@ -183,12 +180,7 @@ arithmetic_result_type(const struct glsl_type *type_a, * more detail how vectors and matrices are operated on." */ if (! multiply) { - if (type_a->is_matrix() && type_b->is_matrix() - && (type_a->vector_elements == type_b->vector_elements) - && (type_a->matrix_rows == type_b->matrix_rows)) - return type_a; - else - return glsl_error_type; + return (type_a == type_b) ? type_a : glsl_error_type; } else { if (type_a->is_matrix() && type_b->is_matrix()) { if (type_a->vector_elements == type_b->matrix_rows) { -- 2.30.2