mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Shader_IR: mark labels as unused for partial decompile.
This commit is contained in:
		
							parent
							
								
									47e4f6a52c
								
							
						
					
					
						commit
						0366c18d87
					
				@ -497,9 +497,7 @@ void ASTManager::Decompile() {
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if (can_remove) {
 | 
			
		||||
                auto& manager = label->GetManager();
 | 
			
		||||
                manager.Remove(label);
 | 
			
		||||
                labels.erase(it);
 | 
			
		||||
                label->MarkLabelUnused();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -112,6 +112,7 @@ class ASTLabel {
 | 
			
		||||
public:
 | 
			
		||||
    ASTLabel(u32 index) : index{index} {}
 | 
			
		||||
    u32 index;
 | 
			
		||||
    bool unused{};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class ASTGoto {
 | 
			
		||||
@ -204,6 +205,13 @@ public:
 | 
			
		||||
        return nullptr;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void MarkLabelUnused() const {
 | 
			
		||||
        auto inner = std::get_if<ASTLabel>(&data);
 | 
			
		||||
        if (inner) {
 | 
			
		||||
            inner->unused = true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Expr GetIfCondition() const {
 | 
			
		||||
        auto inner = std::get_if<ASTIfThen>(&data);
 | 
			
		||||
        if (inner) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user