glasm: Implement InstanceId and VertexId

This commit is contained in:
ReinUsesLisp 2021-05-17 19:25:19 -03:00 committed by ameerj
parent afcb140185
commit 4bad415bca

View file

@ -65,6 +65,12 @@ void EmitGetAttribute(EmitContext& ctx, IR::Inst& inst, IR::Attribute attr,
case IR::Attribute::PositionW: case IR::Attribute::PositionW:
ctx.Add("MOV.F {}.x,{}.position.{};", inst, ctx.stage_name, swizzle); ctx.Add("MOV.F {}.x,{}.position.{};", inst, ctx.stage_name, swizzle);
break; break;
case IR::Attribute::InstanceId:
ctx.Add("MOV.S {}.x,{}.instance;", inst, ctx.stage_name);
break;
case IR::Attribute::VertexId:
ctx.Add("MOV.S {}.x,{}.id;", inst, ctx.stage_name);
break;
default: default:
throw NotImplementedException("Get attribute {}", attr); throw NotImplementedException("Get attribute {}", attr);
} }