mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	Merge pull request #6887 from v1993/patch-2
SPIR-V: Merge two ifs in EmitGetAttribute
This commit is contained in:
		@@ -298,14 +298,10 @@ Id EmitGetAttribute(EmitContext& ctx, IR::Attribute attr, Id vertex) {
 | 
			
		||||
    if (IR::IsGeneric(attr)) {
 | 
			
		||||
        const u32 index{IR::GenericAttributeIndex(attr)};
 | 
			
		||||
        const std::optional<AttrInfo> type{AttrTypes(ctx, index)};
 | 
			
		||||
        if (!type) {
 | 
			
		||||
            // Attribute is disabled
 | 
			
		||||
        if (!type || !ctx.runtime_info.previous_stage_stores.Generic(index, element)) {
 | 
			
		||||
            // Attribute is disabled or varying component is not written
 | 
			
		||||
            return ctx.Const(element == 3 ? 1.0f : 0.0f);
 | 
			
		||||
        }
 | 
			
		||||
        if (!ctx.runtime_info.previous_stage_stores.Generic(index, element)) {
 | 
			
		||||
            // Varying component is not written
 | 
			
		||||
            return ctx.Const(type && element == 3 ? 1.0f : 0.0f);
 | 
			
		||||
        }
 | 
			
		||||
        const Id generic_id{ctx.input_generics.at(index)};
 | 
			
		||||
        const Id pointer{AttrPointer(ctx, type->pointer, vertex, generic_id, ctx.Const(element))};
 | 
			
		||||
        const Id value{ctx.OpLoad(type->id, pointer)};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user