mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-31 10:44:49 +01:00 
			
		
		
		
	Merge pull request #3240 from ReinUsesLisp/decomp-cond-code
vk_shader_decompiler: Use Visit instead of reimplementing it
This commit is contained in:
		
						commit
						27efcc15e9
					
				| @ -2552,29 +2552,7 @@ public: | ||||
|     } | ||||
| 
 | ||||
|     Id operator()(const ExprCondCode& expr) { | ||||
|         const Node cc = decomp.ir.GetConditionCode(expr.cc); | ||||
|         Id target; | ||||
| 
 | ||||
|         if (const auto pred = std::get_if<PredicateNode>(&*cc)) { | ||||
|             const auto index = pred->GetIndex(); | ||||
|             switch (index) { | ||||
|             case Tegra::Shader::Pred::NeverExecute: | ||||
|                 target = decomp.v_false; | ||||
|                 break; | ||||
|             case Tegra::Shader::Pred::UnusedIndex: | ||||
|                 target = decomp.v_true; | ||||
|                 break; | ||||
|             default: | ||||
|                 target = decomp.predicates.at(index); | ||||
|                 break; | ||||
|             } | ||||
|         } else if (const auto flag = std::get_if<InternalFlagNode>(&*cc)) { | ||||
|             target = decomp.internal_flags.at(static_cast<u32>(flag->GetFlag())); | ||||
|         } else { | ||||
|             UNREACHABLE(); | ||||
|         } | ||||
| 
 | ||||
|         return decomp.OpLoad(decomp.t_bool, target); | ||||
|         return decomp.AsBool(decomp.Visit(decomp.ir.GetConditionCode(expr.cc))); | ||||
|     } | ||||
| 
 | ||||
|     Id operator()(const ExprVar& expr) { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user