forked from eden-emu/eden
		
	SPIR-V: Merge two ifs in EmitGetAttribute
This commit is contained in:
		
							parent
							
								
									ac2c233543
								
							
						
					
					
						commit
						1510efac15
					
				
					 1 changed files with 2 additions and 6 deletions
				
			
		|  | @ -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)}; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Valeri
						Valeri