forked from eden-emu/eden
		
	Added predicate comparison LessEqualWithNan (#1736)
* Added predicate comparison LessEqualWithNan * oops * Clang fix
This commit is contained in:
		
							parent
							
								
									c4b5319446
								
							
						
					
					
						commit
						3135dbc29c
					
				
					 2 changed files with 13 additions and 5 deletions
				
			
		|  | @ -153,6 +153,7 @@ enum class PredCondition : u64 { | |||
|     NotEqual = 5, | ||||
|     GreaterEqual = 6, | ||||
|     LessThanWithNan = 9, | ||||
|     LessEqualWithNan = 11, | ||||
|     GreaterThanWithNan = 12, | ||||
|     NotEqualWithNan = 13, | ||||
|     GreaterEqualWithNan = 14, | ||||
|  |  | |||
|  | @ -1059,11 +1059,17 @@ private: | |||
|                                        const std::string& op_a, const std::string& op_b) const { | ||||
|         using Tegra::Shader::PredCondition; | ||||
|         static const std::unordered_map<PredCondition, const char*> PredicateComparisonStrings = { | ||||
|             {PredCondition::LessThan, "<"},           {PredCondition::Equal, "=="}, | ||||
|             {PredCondition::LessEqual, "<="},         {PredCondition::GreaterThan, ">"}, | ||||
|             {PredCondition::NotEqual, "!="},          {PredCondition::GreaterEqual, ">="}, | ||||
|             {PredCondition::LessThanWithNan, "<"},    {PredCondition::NotEqualWithNan, "!="}, | ||||
|             {PredCondition::GreaterThanWithNan, ">"}, {PredCondition::GreaterEqualWithNan, ">="}}; | ||||
|             {PredCondition::LessThan, "<"}, | ||||
|             {PredCondition::Equal, "=="}, | ||||
|             {PredCondition::LessEqual, "<="}, | ||||
|             {PredCondition::GreaterThan, ">"}, | ||||
|             {PredCondition::NotEqual, "!="}, | ||||
|             {PredCondition::GreaterEqual, ">="}, | ||||
|             {PredCondition::LessThanWithNan, "<"}, | ||||
|             {PredCondition::NotEqualWithNan, "!="}, | ||||
|             {PredCondition::LessEqualWithNan, "<="}, | ||||
|             {PredCondition::GreaterThanWithNan, ">"}, | ||||
|             {PredCondition::GreaterEqualWithNan, ">="}}; | ||||
| 
 | ||||
|         const auto& comparison{PredicateComparisonStrings.find(condition)}; | ||||
|         UNIMPLEMENTED_IF_MSG(comparison == PredicateComparisonStrings.end(), | ||||
|  | @ -1072,6 +1078,7 @@ private: | |||
|         std::string predicate{'(' + op_a + ") " + comparison->second + " (" + op_b + ')'}; | ||||
|         if (condition == PredCondition::LessThanWithNan || | ||||
|             condition == PredCondition::NotEqualWithNan || | ||||
|             condition == PredCondition::LessEqualWithNan || | ||||
|             condition == PredCondition::GreaterThanWithNan || | ||||
|             condition == PredCondition::GreaterEqualWithNan) { | ||||
|             predicate += " || isnan(" + op_a + ") || isnan(" + op_b + ')'; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Hexagon12
						Hexagon12